3

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

任何关于我需要做什么或我应该看的地方的帮助都非常感谢。

代码 6.3

迅捷 1.2

iOS 8.3

iOS-图表 2.1.0

4

1 回答 1

6

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

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

于 2015-08-04T15:57:32.993 回答