【发布时间】:2014-10-13 03:14:22
【问题描述】:
有没有办法将数据动态添加到图表中的原始系列(现在,我正在尝试在平移时向折线图添加新数据,但问题更广泛)?添加 new 系列可以正常工作,我可以创建一个新的XYSeries,甚至可以重复使用XYSeriesRenderer 来获得相同的显示。添加到图表时,它会显示,但显然,作为一个新系列,这意味着它不会与以前的数据无缝连接,并且线条上方的显示值将被复制。
如果我保留数据集、系列渲染器和系列本身并尝试在以后重新使用它们,当我尝试series.add(x, y) 我的新值时,我会得到一个看似无限的循环,程序永远不会返回。我还尝试dataset.removeSeries(series),然后再添加新值和dataset.addSeries(series),但徒劳无功。
更新代码:
图表是这样设置的:
renderer = new XYMultipleSeriesRenderer();
renderer.setAntialiasing(true);
...
renderer.setZoomEnabled(false, false);
dataset = new XYMultipleSeriesDataset();
seriesRenderer = new XYSeriesRenderer();
seriesRenderer.setColor(chartColor);
...
seriesRenderer.setChartValuesTextSize(...);
renderer.addSeriesRenderer(seriesRenderer);
series = new XYSeries("");
...
series.add(x, y);
...
dataset.addSeries(series);
在 PanListener.panApplied 中调用:
dataset.removeSeries(series);
...
series.add(x, y);
...
dataset.addSeries(series);
【问题讨论】:
-
请发布一些代码并提及您正在使用的 ACE 版本。
-
版本为 1.1.0。我会尝试在问题中编辑一些代码,但这并不容易,因为它已经完全融入应用程序...... :-)
-
基本上,据我所知,与有效版本(以及您的源代码中的示例版本,图表构建器版本)的唯一区别是:在
panApplied()中,我没有创建new XYSeries,而是向其中添加新值并将这个新系列添加到图表中,而是尝试重新使用原始series对象。 -
为什么要删除系列并重新添加?只需修改当前系列的内容即可。
-
这是一种让它发挥作用的尝试。不管有没有,我都会接到同样的不回电话。一旦我从
panApplied()调用series.add(),第一个调用就永远不会返回,我可以在 LogCat 中看到无穷无尽的分配。
标签: android achartengine