如何在achartengine中动态实时更新数据

2025-05-08 11:45:27
推荐回答(1个)
回答1:

1.如何把折线图嵌入到界面某个位置?
可以利用ChartFactory类中很多的getXxxxView方法返回一个装着折线图的GraphicalView,然后通过位置View.addView(GraphicalView)之类的方法把折线图添加到你指定的控件处就行了。

2.如何动态更新?
上面提到的getXxxxView方法一般都有几个参数的,下面用其中的一个方法来做描述吧,例如:

代码
getLineChartView(Context context,
XYMultipleSeriesDataset dataset,
XYMultipleSeriesRenderer renderer);

此方法当中的参数dataset就是你的折线图数据集合了,实际使用时是通过调用dataset.addSeries(XYSeries series)、dataset.addSeries(A线条数据集)、dataset.addSeries(B线条数据集)……这种方式添加数据的,因为addSeries中的参数series是一个引用类型的变量,所以你的series被添加进去后只要没重新实例化,那么你在图表外部操作这个series比如往里面增加一个点,还是会有效地影响到图表。

代码
/*===============================
*初始化图表
*===============================*/

XYSeries lineA = ...............;

dataset.addSeries(lineA);

graphicalView = ChartFactory.getLineChartView(this, dataset, renderer);

位置View.addView(graphicalView);

/*===============================
* 动态更新数据
*===============================*/

lineA.add(x1, y1);// 添加数据,或者其他操作
lineA.add(x2, y2);
......
graphicalView.repaint();// 刷新折线图

通过上面这种方式就能够动态更新数据了。