我有一個帶有兩個y軸和兩條直線的lineChart。 我的線條對於x值和y值有不同的設置。在achartengine中使用多個y軸時的不同x值
當繪製這些線時,第一行(x1,y1)看起來應該如此,但第二行(x2,y2)使用x1中的x值。有什麼辦法可以解決這個問題嗎?
下面是使用下面的代碼我圖的截圖:
double[] x1 = { 0,1,2,3,4,5 };
double[] x2 = { 0.5, 1.5, 2.5, 4, 6, 7 };
double[] y1 = { 2, 3, 1, 5, 6, 9};
double[] y2 = {7, 1, 6, 3, 9, 2 };
XYSeries speedSeries = new XYSeries("speed",0);
XYSeries accSeries = new XYSeries("acc",1);
for(int i=0;i<x1.length;i++){
speedSeries.add(x1[i], y1[i]);
}
for(int i=0;i<x2.length;i++){
accSeries.add(x2[i],y2[i]);
}
// Creating a dataset to hold each series
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(0,speedSeries);
dataset.addSeries(1,accSeries);
XYMultipleSeriesRenderer renderer = getRenderer();
myChartSettings(renderer);
mChartView2 = ChartFactory.getLineChartView(this, dataset, renderer);
Private void myChartSettings(XYMultipleSeriesRenderer renderer) {
renderer.setChartTitle("");
renderer.setShowAxes(true);
renderer.setShowLegend(false);
renderer.setYAxisMin(0,0);
renderer.setYAxisMax(10,0);
renderer.setYAxisMin(0,1);
renderer.setYAxisMax(10,1);
renderer.setYLabelsAlign(Align.RIGHT,0);
renderer.setYAxisAlign(Align.LEFT, 0);
renderer.setXTitle("Time");
renderer.setYTitle("",0);
renderer.setShowGrid(true);
renderer.setGridColor(Color.LTGRAY);
renderer.setXLabels(7);
renderer.setYLabels(7);
renderer.setYTitle("", 1);
renderer.setYAxisAlign(Align.RIGHT, 1);
renderer.setYLabelsAlign(Align.LEFT, 1);
renderer.setZoomButtonsVisible(false);
renderer.setMarginsColor(Color.GRAY);
renderer.setInScroll(true);
renderer.setYLabelsPadding(2);
renderer.setYLabelsVerticalPadding(2);
renderer.setLabelsColor(Color.BLACK);
renderer.setXLabelsColor(Color.BLACK);
renderer.setYLabelsColor(0, Color.BLUE);
renderer.setYLabelsColor(1, Color.RED);
}
public XYMultipleSeriesRenderer getRenderer() {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(2);
renderer.setAxisTitleTextSize(16);
renderer.setChartTitleTextSize(20);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
XYSeriesRenderer r1 = new XYSeriesRenderer();
r1.setColor(Color.BLUE);
renderer.addSeriesRenderer(0,r1);
XYSeriesRenderer r2 = new XYSeriesRenderer();
r2.setColor(Color.RED);
renderer.addSeriesRenderer(1,r2);
return renderer;
}
無法上傳圖片由於信譽點,但圖像可以在這個環節中可以看出:https://www.dropbox.com/s/r0m88v1yuc0appn/bild.JPG
你是什麼意思「使用x1的x值」?你的意思是繪製的標籤?請張貼截圖。 –
我編輯了我的問題,並與截圖分享了鏈接 –
謝謝,我明白了。這似乎是一個需要修復的bug。 –