我已使用AChartEngine修改了XYseries演示,以便使用Android进行图表制作。它不会将第二个数组添加为新系列。这是我的代码。
private XYMultipleSeriesDataset getDemoDataset() {
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
final int nr = 10;
double[] test1=new double[] {121.0,122.0,123.0,124.0,125.0,126.0,127.0,128.0,129.0,130.0};
double[] test2=new double[] {131.0,132.0,133.0,134.0,135.0,136.0,137.0,138.0,139.0,140.0};
double[] testArray= new double[test1.length + test2.length];
System.arraycopy(test1, 0, testArray, 0, test1.length);
System.arraycopy(test2, 0, testArray, test1.length, test2.length);
for(double d:testArray){
Log.i(MAIN_DEBUG_TAG, "testArray "+d);
}
Random r = new Random();
for (int i = 0; i < SERIES_NR; i++) {
XYSeries series = new XYSeries("Demo series " + (i + 1));
for (int k = 0; k < nr; k++) {
// series.add(k, 120 + r.nextInt() % 100);
series.add(k, testArray[k]);
Log.i(MAIN_DEBUG_TAG, "series.add "+k +" "+test1[k]);
}
dataset.addSeries(series);
}
return dataset;
}
重复Test1数组。如果我从series.add删除评论(k,120 +随机......它将生成2个系列的数据进行绘图。任何帮助表示赞赏.TIA
答案 0 :(得分:0)
在外部循环的两次迭代中,您将两次相同的数据点添加到testArray[0]
到testArray[9]
。 k
始终从0
转到9
,当前代码不依赖k
以外的任何内容:
// No sign of anything that changes between iterations of the outer loop
series.add(k, testArray[k]);
怎么样:
series.add(k, testArray[k + i * nr]);
这样第一个系列会有testArray[0]
到testArray[9]
,第二个系列会有testArray[10]
到testArray[19]
。