web-dev-qa-db-ja.com

iOSチャートの棒グラフの各棒の上にある値ラベルを削除する方法

各バーにはその上に値がありますが、グラフ化されたデータエントリが多すぎると、これらの値が相互に波及し、読み取り不能になります。私が見つけたこれらを編集する唯一の方法は、各バーの上または下に設定することでした。しかし、私はそれらを完全に隠したいと思います。どうすればこれを迅速に行うことができますか?

9
Dan

ラベルテキストを有効または無効にできるsetDrawValuesというメソッドがあります。ここにSwift with LineChartの例:

xValues = ["1","2"]
yValues = [54.0, 42.0]

var dataEntries: [ChartDataEntry] = []

for i in 0..<xValues.count {
   let dataEntry = ChartDataEntry(value: yvalues[i], xIndex: i)
   dataEntries.append(dataEntry)
}

let lineChartDataSet = LineChartDataSet(yVals: dataEntries, label: "YourData")
let lineChartData = LineChartData(xVals: xValues, dataSet: lineChartDataSet)

// this disables the display of the labels - be sure to apply it to your LineChartData object
lineChartData.setDrawValues(false)

編集:確かにあなたの場合、このメソッドはBarChartDataオブジェクトにも使用できます。

ドキュメントはここにあります(ios-chartsはMPAndroidChartに基づいているため、ほぼ同じ機能を備えています): https://jitpack.io/com/github/PhilJay/MPAndroidChart/v2.2.3/javadoc/ com/github/mikephil/charting/data/ChartData.html#setDrawValues(boolean)

15
tekonaut

次の行を追加することで、ラベルを無効にできます。

lineData.setDrawValues(false)
7
Jess Murray

以下のようにdrawValuesEnabledを使用できます。

let chartDataSet = BarChartDataSet(yVals: dataEntries, label: nil)
chartDataSet.drawValuesEnabled = false
3
Lilo

これはSwift 4のトリックを行います

yourChartDataSet.drawValuesEnabled = false
1
DeepBlue

Swift3では、次の行で作業を行うことができます。

chartDataSet.valueTextColor = UIColor.clear
1
M.Saad Lakhan