我正在使用iOS-Charts显示简单的立方线图,并希望每秒更新图表并报告新数据。我已经尝试使用addEntry方法动态地将值添加到数组的末尾,并且我已经验证了数据确实在每秒后成功添加到数组中。但是图表本身不会更新。我查看了MPAndroidChart上的文档,并且在第一次调用addEntry方法后没有指定调用任何类型的更新方法。我确实在文档的另一部分中看到Chart对象上有一个“刷新”图表的invalidate()方法,但是,当我访问Chart对象时,我没有那个选项,也不知道这是否是必需的。
示例代码:
var set1 = lineChartView.data?.getDataSetByIndex(0)
var index = set1?.entryCount
var value = arc4random_uniform(14) + 1
var chartEntry = ChartDataEntry(value: Float(value), xIndex: index!)
set1?.addEntry(chartEntry)
在演示项目中,使用滑块控件修改图表,但在该示例中,它只是重新创建数据并重置chart.data对象,而不是像我正在尝试那样动态修改原始DataSet。
非常感谢您对我需要做的事情或我应该看的地方的任何帮助。
xcode 6.3
swift 1.2
iOS 8.3
iOS-Charts 2.1.0
答案 0 :(得分:6)
尝试在lineChartView上调用notifyDataSetChanged(),它应该更新图表。
另请查看已知问题页面,特别是:https://github.com/danielgindi/ios-charts/issues/264。