0

I am using shinobicharts ChartFragment. I have scenario that each time I have to load the chart with different data within same activity i.e I am not recreating that activity. But I am failed to do this. It not recreating and not clearing the series which I previously set to that chart.

Can anybody help, how can I remove old series in that chart and load new series each time? I tried shinobiChart().removeSeries() but it didn't work.

Thanks

4

1 回答 1

0

如果您希望动态加载新数据,则不一定需要删除该系列。相反,您可以简单地将数据点添加到数据适配器。您会发现以下方法很有用: https://www.shinobicontrols.com/docs/ShinobiControls/ShinobiChartsAndroid/1.7.2/Premium/Normal/apidocs/docs/reference/com/shinobicontrols/charts/DataAdapter.html#add( int , com.shinobicontrols.charts.Data) https://www.shinobicontrols.com/docs/ShinobiControls/ShinobiChartsAndroid/1.7.2/Premium/Normal/apidocs/docs/reference/com/shinobicontrols/charts/DataAdapter.html#添加(com.shinobicontrols.charts.Datahttps://www.shinobicontrols.com/docs/ShinobiControls/ShinobiChartsAndroid/1.7.2/Premium/Normal/apidocs/docs/reference/com/shinobicontrols/charts/DataAdapter.html#加法(整数, java.util.Collection>) https://www.shinobicontrols.com/docs/ShinobiControls/ShinobiChartsAndroid/1.7.2/Premium/Normal/apidocs/docs/reference/com/shinobicontrols/charts/DataAdapter.html#addAll( java.util.Collection >)

在这些 api 文档中,您还将找到类似的删除数据点的方法。

要记住的一件事是,向/从设置在系列上的 SimpleDataAdapter 类实例添加或删除数据点将触发该系列的重绘。如果您正在处理大量数据点,这可能不会高效。在这种情况下,更合适的方法可能是暂时从系列中删除数据适配器,对数据执行修改,然后将数据适配器重新添加回系列中。或者,您可能希望实现自己的 DataAdapter 并在指示图表重绘该系列时进行控制(通过 fireUpdateHandler 方法)。

您当然可以删除系列本身并添加一个新系列,但这种方法可能效率低下。也就是说,如果您希望从图表中删除一个系列,您需要使用以下方法:

https://www.shinobicontrols.com/docs/ShinobiControls/ShinobiChartsAndroid/1.7.2/Premium/Normal/apidocs/docs/reference/com/shinobicontrols/charts/ShinobiChart.html#removeSeries(com.shinobicontrols.charts.Series )

为了使此方法成功,您首先需要获取对正确系列的引用,您必须将其作为参数传递给此方法。

我希望这些信息对您有用。如果您需要任何进一步的帮助,请尽可能发布任何相关代码,例如用于创建片段和设置图表的代码。谢谢和亲切的问候,凯。

免责声明 - 我为 ShinobiControls 工作。

于 2015-11-03T17:28:36.973 回答