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

3

我刚接触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个回答

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

}

谢谢,但我不知道要在哪里添加这段代码。正如我所说,我对achartEngine太新了。 - Amina

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接