Android:条形图用achartengine改变y轴刻度

时间:2014-04-04 10:17:30

标签: android scale achartengine

我是achartengine的新手,我想知道如何更改y轴刻度。我想要一个条形图,显示wifi信号强度和通道。我需要X轴(1,2,3..14)和Y轴(-90,-80,-70 ......- 30)尺度。但我不知道在代码中该怎么做。 的修改 现在我有了所需的比例,但我不再有条形,它们变得没有颜色,我只能看到它们的顶部显示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:此代码显示两个条形图。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

设置x轴的值,

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

设置y轴的值,

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]);

}