如何删除ios图表条形图中每个条形图上方的值标签

时间:2016-03-24 04:29:54

标签: ios swift ios-charts

每个栏都有一个高于它的值,但每当我得到太多数据条目时,这些值就会互相溢出并使自己变得不可读。编辑这些我能找到的唯一方法是将它们设置在每个条形的上方或下方。但是我想完全隐藏它们。我如何在swift中执行此操作?

6 个答案:

答案 0 :(得分:14)

有一个名为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)

答案 1 :(得分:7)

您可以通过添加以下行来禁用标签;

lineData.setDrawValues(false)

答案 2 :(得分:3)

您可以使用drawValuesEnabled,如下所示:

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

答案 3 :(得分:1)

在swift3中,以下行可以完成这项工作:

chartDataSet.valueTextColor = UIColor.clear

答案 4 :(得分:0)

这是Swift 4的窍门

yourChartDataSet.drawValuesEnabled = false

答案 5 :(得分:-1)

将此标志设置为True或False

_chart.drawValueAboveBarEnabled = YES;