我正在尝试根据此视频在图表中显示两条线: http://www.youtube.com/watch?v=5DGldVzC-bU
我的代码:
public class LineGraph {
public Intent getIntent(Context context){
int[] x = {1,2,3,4,5,6,7,8,9,10};
int[] y = {31,29,54,94,75,36,47,118,92,10};
TimeSeries series = new TimeSeries("Line1");
for (int i=0;i<x.length;i++){
series.add(x[i],y[i]);
}
int[] x2 = {1,2,3,4,5,6,7,8,9,10};
int[] y2 = {39,145,35,87,2,65,48,49,100,106};
TimeSeries series2 = new TimeSeries("Line2");
for (int i=0;i<x2.length;i++){
series.add(x2[i],y2[i]);
}
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(series);
dataset.addSeries(series2);
XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setColor(Color.CYAN);
renderer.setPointStyle(PointStyle.SQUARE);
renderer.setFillPoints(true);
renderer.setLineWidth(3);
renderer.setDisplayChartValues(true);
XYSeriesRenderer renderer2 = new XYSeriesRenderer();
renderer2.setColor(Color.BLACK);
renderer2.setPointStyle(PointStyle.CIRCLE);
renderer2.setFillPoints(true);
renderer2.setLineWidth(3);
renderer2.setDisplayChartValues(true);
XYMultipleSeriesRenderer mrenderer = new XYMultipleSeriesRenderer();
mrenderer.addSeriesRenderer(renderer);
mrenderer.addSeriesRenderer(renderer2);
mrenderer.setChartTitle("title");
mrenderer.setBackgroundColor(Color.WHITE);
mrenderer.setShowGrid(true);
mrenderer.setApplyBackgroundColor(true);
mrenderer.setXTitle("Days");
mrenderer.setYTitle("datas");
mrenderer.setGridColor(Color.GRAY);
// mrenderer.setZoomButtonsVisible(true);
Intent intent = ChartFactory.getLineChartIntent(context, dataset, mrenderer, "Line graph title");
return intent;
}
与视频中的几乎相同。但是我没有用,我没有得到两条不同的线,而是只有一条。当第一行 (x) 的最后一个数据结束时,它转到第二行 (x2) 的第一个数据,因此第二行从第一行继续。 提前致谢!
最佳答案
不应该是:
series.add(x2[i],y2[i]);
实际上是:
series2.add(x2[i],y2[i]);
注意“2”。
关于android - achartengine 一张折线图中的多条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9725631/