首页 文章

图表值未显示条形图achartengine

提问于
浏览
1

我正在使用Achartengine库创建默认条形图 . 值未正确显示 . 我想在条形图顶部显示图表值并与中心对齐 . 对我来说,只有第一个栏的值可见,但我想看到两个栏的值 . 我怎样才能做到这一点?我将不胜感激任何帮助 .

这是我的代码

public Intent getIntent(Context context) 
{   
    // Bar 1
    int[] y = { 124, 135, 443, 456, 234, 123, 342, 134, 123, 643, 234, 274 };
    CategorySeries series = new CategorySeries("Demo Bar Graph 1");
    for (int i = 0; i < y.length; i++) {
        series.add("Bar " + (i+1), y[i]);
    }

    // Bar 2
    int[] y2 = { 124, 135, 243, 256, 234, 223, 242, 234, 223, 243, 234, 274 };
    CategorySeries series2 = new CategorySeries("Demo Bar Graph 2");
    for (int i = 0; i < y.length; i++) {
        series2.add("Bar " + (i+1), y2[i]);
    }

    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
    dataset.addSeries(series.toXYSeries());
    dataset.addSeries(series2.toXYSeries());

    // This is how the "Graph" itself will look like
    XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
    mRenderer.setChartTitle("Demo Graph Title");
    mRenderer.setXTitle("X VALUES");
    mRenderer.setYTitle("Y VALUES");
    mRenderer.setAxesColor(Color.GREEN);
    mRenderer.setLabelsColor(Color.RED);
    mRenderer.setBarSpacing(2.0f);

    // Customize bar 1
    XYSeriesRenderer renderer = new XYSeriesRenderer();
    renderer.setColor(Color.RED);
    renderer.setDisplayChartValues(true);
    renderer.setChartValuesSpacing((float) 2.5);
    mRenderer.addSeriesRenderer(renderer);

    // Customize bar 2
    XYSeriesRenderer renderer2 = new XYSeriesRenderer();
    renderer.setColor(Color.GREEN);
    renderer.setDisplayChartValues(true);
    renderer.setChartValuesSpacing((float) 2.5);
    mRenderer.addSeriesRenderer(renderer2);

    Intent intent = ChartFactory.getBarChartIntent(context, dataset,mRenderer, Type.DEFAULT);
    return intent;
}

1 回答

  • 3

    您正在实例化 rendererrenderer2 ,但您正在调用 renderer.setDisplayChartValues(true) 两次并且从不调用 renderer2.setDisplayChartValue(true);

相关问题