【发布时间】:2016-03-24 04:29:54
【问题描述】:
每个条形图上方都有一个值,但每当我绘制的数据条目过多时,这些值就会相互溢出,使它们无法读取。我能找到的编辑这些的唯一方法是将它们设置为每个栏的上方或下方。但是我想完全隐藏它们。我该如何快速做到这一点?
【问题讨论】:
标签: ios swift ios-charts
每个条形图上方都有一个值,但每当我绘制的数据条目过多时,这些值就会相互溢出,使它们无法读取。我能找到的编辑这些的唯一方法是将它们设置为每个栏的上方或下方。但是我想完全隐藏它们。我该如何快速做到这一点?
【问题讨论】:
标签: ios swift ios-charts
有一个名为 setDrawValues 的方法允许您启用或禁用标签文本。这是一个带有 LineChart 的 Swift 示例:
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)
【讨论】:
您可以通过添加以下行来禁用标签;
lineData.setDrawValues(false)
【讨论】:
您可以使用 drawValuesEnabled 如下:
let chartDataSet = BarChartDataSet(yVals: dataEntries, label: nil)
chartDataSet.drawValuesEnabled = false
【讨论】:
这对 Swift 4 有用
yourChartDataSet.drawValuesEnabled = false
【讨论】:
在 swift3 中,以下行可以完成这项工作:
chartDataSet.valueTextColor = UIColor.clear
【讨论】:
将此标志设置为 True 或 False
_chart.drawValueAboveBarEnabled = YES;
【讨论】: