addEntry方法如何实时更新LineChart?

时间:2015-06-30 01:03:16

标签: ios swift ios-charts

我正在使用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

1 个答案:

答案 0 :(得分:6)

尝试在lineChartView上调用notifyDataSetChanged(),它应该更新图表。

另请查看已知问题页面,特别是:https://github.com/danielgindi/ios-charts/issues/264