2013-07-10 2 views
1

두 개의 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

+0

"x1의 x 값 사용"이란 무엇을 의미합니까? 그려진 레이블을 의미합니까? 스크린 샷을 게시하십시오. –

+0

내 질문을 편집하고 스크린 샷으로 링크를 공유했습니다. –

+0

감사합니다. 이해합니다. 그것은 고쳐야 할 버그처럼 보입니다. –

답변

0

이 있었다 아래

다음 코드를 사용하여 내 차트의 스크린 샷입니다 버그. 나는 너를 위해 그것을 고쳤다. 수정본 here을 포함한 버전을 다운로드 할 수 있습니다.

+0

완벽하게 작동합니다! 빨리 고칠 수는 없어요. –

+0

이제 다행입니다. –

관련 문제