2014-04-04 116 views
3

我是achartengine的新手,我想知道如何更改y軸比例。我想要一個條形圖,顯示無線信號的強度和頻道。我需要X軸(1,2,3..14)和Y軸(-90,-80,-70 ...- 30)尺度。但我不知道在代碼中該怎麼做。 編輯 現在我有所需的規模,但我沒有了酒吧,他們變得沒有顏色,我只能看到他們的上衣,顯示的Y座標。我只看到數字。 這是我使用的代碼:Android:使用achartengine更改y軸比例的條形圖

public Intent execute(Context context) { 
String[] titles = new String[] { "2008", "2007" }; 
List<double[]> values = new ArrayList<double[]>(); 


/* values.add(new double[] { 14230, 12300, 0, 15244, 15900, 19200, 22030, 21200, 19500, `15500,` 
     12600, 14000 }); 
     values.add(new double[] { 5230, 7300, 0, 10540, 7900, 9200, 12030, 11200, 9500, `10500,` 
     11600, 13500 });*/ 



    values.add(new double[] { -65, -71, 0, -80, -90, -20, -10, -95, -89, -75, 
    -95, -35,-45,-68 }); 
values.add(new double[] { -71, -65, 0, -80, -90, -10, -20, -95, -89, -75, 
      -95, -35,-45,-68 }); 


int[] colors = new int[] { Color.BLUE, Color.CYAN }; 
XYMultipleSeriesRenderer renderer = buildBarRenderer(colors); 
//EDITED the SetChartSettings 


setChartSettings(renderer, "Monthly sales in the last 2 years", "Month", "Units sold", 0, 
     12, -100, -30, Color.GRAY, Color.LTGRAY); 
renderer.getSeriesRendererAt(0).setDisplayChartValues(true); 
renderer.getSeriesRendererAt(1).setDisplayChartValues(true); 
renderer.setXLabels(12); 
renderer.setYLabels(10); 
renderer.setXLabelsAlign(Align.LEFT); 
renderer.setYLabelsAlign(Align.LEFT); 
renderer.setPanEnabled(true, false); 
// renderer.setZoomEnabled(false); 
renderer.setZoomRate(1.1f); 
renderer.setBarSpacing(0.5f); 
return ChartFactory.getBarChartIntent(context, buildBarDataset(titles, values), renderer, 
    Type.STACKED); 


} 

PS:這個代碼顯示兩個柱狀圖。 謝謝你的幫助。 X軸

回答

2

設定值,Y軸

XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer(); 
mRenderer.addTextLabel(1,1); 
     mRenderer.addTextLabel(2,2); 
     mRenderer.addTextLabel(3,3); 
     mRenderer.addTextLabel(4,14); 

設定值,

public Intent getIntent(Context context) { 
    // TODO Auto-generated method stub 

    int y[] = {25,10,15,20}; 

    CategorySeries series = new CategorySeries("Bar1"); 
    for(int i=0; i < y.length; i++){ 
     series.add("Bar"+(i+1),y[i]); 

} 
+0

謝謝你,但我不知道在哪裏可以添加此代碼。正如我告訴我用achartEngine太新了。 – Amina