我正在使用swift为我的iOS应用程序使用“图表”框架,我在我的一个VC上使用条形图,但目前它看起来相当混乱,因为它显示了每个值的值标签,即使它是0。我想知道是否有可能只显示标签,如果值大于0?我一直在寻找其他问题,但我似乎无法找到这个问题的答案。我知道我可以使用chartData.setDrawValues(false)
隐藏所有标签,但是,我仍然希望显示大于0的值。
这是我目前用来格式化图表的代码
barChart.highlightPerTapEnabled = false
barChart.highlightPerDragEnabled = false
barChart.leftAxis.drawAxisLineEnabled = true
barChart.leftAxis.drawGridLinesEnabled = false
barChart.xAxis.labelPosition = .bottom
barChart.xAxis.centerAxisLabelsEnabled = true
barChart.xAxis.axisMinimum = 0
barChart.xAxis.axisMaximum = 7
barChart.xAxis.drawAxisLineEnabled = true
barChart.xAxis.drawGridLinesEnabled = true
barChart.rightAxis.enabled = false
barChart.leftAxis.axisMinimum = 0
我想过做这样的事-
for value in chartDataSet.entries {
if value.y == 0 {
chartDataSet.drawValuesEnabled = false
}
else {
chartDataSet.drawValuesEnabled = true
}
}
但当然这不起作用,因为它为整个集合设置了布尔值。
任何帮助将不胜感激!谢谢
2条答案
按热度按时间r6hnlfcb1#
您只需按如下所示将自定义
IValueFormatter
提供给BarChartData
,注意:
String(describing: value)
只是提供一个可操作的例子,您可以使用适当的数字格式化器将Double
转换为String
。m2xkgtsf2#