【问题标题】:How does the addEntry method update LineChart in realtime?addEntry 方法如何实时更新 LineChart?
【发布时间】:2015-06-30 01:03:16
【问题描述】:

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

斯威夫特 1.2

iOS 8.3

iOS-Charts 2.1.0

【问题讨论】:

    标签: ios swift ios-charts


    【解决方案1】:

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

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

    【讨论】:

    • 是的,调用 notifyDataSetChanged() 会导致图表更新。我也用这里的例子来帮忙:MPAndroidChart Example谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    • 2012-10-15
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    相关资源
    最近更新 更多