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();// 刷新折线图
通过上面这种方式就能够动态更新数据了。