0

查看图片朋友中的条形图。

在此处输入图像描述

这是我的问题。它首先显示所有类别。我希望每个类别分开。这意味着Salary第一名,Pocket Money第二名,Travel第三名和Entertainment第四名。

我的代码如下。

XYMultipleSeriesRenderer renderer = getBarDemoRenderer();
        setChartSettings(renderer);
        layout.removeAllViews();
        layout.addView(ChartFactory.getBarChartView(this, getBarDemoDataset(),
                renderer, Type.DEFAULT));

    public XYMultipleSeriesRenderer getBarDemoRenderer() {
    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();     
    renderer.setAxisTitleTextSize(16);      
    renderer.setLabelsTextSize(15);
    renderer.setLegendTextSize(15);
    renderer.setMargins(new int[] {20, 30, 15, 0});    
    SimpleSeriesRenderer r;

    for (int i = 0; i < income_list.size(); i++) {
        r = new SimpleSeriesRenderer();
        r.setColor(color.get(i));
        renderer.addSeriesRenderer(r);
        r.setDisplayChartValues(true);
    }
    return renderer;
}

private void setChartSettings(XYMultipleSeriesRenderer renderer) {
    renderer.setXTitle("Category");
    renderer.setYTitle("Amount");
    renderer.setXAxisMin(0.5);
    renderer.setXAxisMax(4.5);
    renderer.setYAxisMin(0);
    renderer.setYAxisMax(10000);
}

private XYMultipleSeriesDataset getBarDemoDataset() {
    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
    for (int i = 0; i < income_list.size(); i++) {
        CategorySeries series = new CategorySeries(cat.get(i));
        series.add(income_list.get(i));
        dataset.addSeries(series.toXYSeries());
    }
    return dataset;
}

请朋友们帮帮我。我正在尝试这仍然持续 6 小时的朋友。我仍然没有任何想法。使用achartengine更有帮助。

提前泰克斯。

4

1 回答 1

2

而不是以这种方式创建CategorySeries,创建XYSeries和添加您的项目:

series.add(i + 1, income_list.get(i));

然后,你可以做dataset.addSeries(series);,因为它已经是一个XYSeries,你不必打电话toXYSeries()

于 2013-05-09T06:50:19.810 回答