1

我使用 AChartEngine 库创建了条形图。目前我正在获得两年的收入(2011 年和 2012 年)并按月比较它们。因此,在每个栏中,我显示两年数据并每月显示它们(如 1 月、2 月等)。但我的要求是,我必须每季度显示一次……如下图所示:

条形图

这是我当前的实现:

实现代码

当前条形图图像

那么我需要在哪里更改代码以便我可以实现上面的条形图?请帮忙..

4

2 回答 2

3

正如丹所说,您可以通过在某个位置传递空值来管理您的空间。我想为您向 dan 提出的问题提供您的解决方案:我将如何在 x 轴上显示 Q1、Q2 而不是 1、2、3 等?

答:如果您在 X 轴上有 0 到 12 位数字。

您可以通过以下方法管理 X 轴文本标签。

renderer.addXTextLabel("X AXIS POSITION IN INTEGER","YOUR QUARTER STRING IN STRING");

如下所示(我已根据您的问题提出):

renderer.addXTextLabel(2,"Q1");

renderer.addXTextLabel(6,"Q2");

renderer.addXTextLabel(10,"Q3");

renderer.addXTextLabel(14,"Q4");

已编辑

For Chaging Colors of Bar : 

您可以将以下代码设置为以下:

int[] colors = new int[] { Color.parseColor("#4C4646"),
                    Color.parseColor("#71A700") };
            XYMultipleSeriesRenderer renderer;
            renderer = buildBarRenderer(colors);

并将方法放在buildBarRenderer下方:

protected XYMultipleSeriesRenderer buildBarRenderer(int[] colors) {
        XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();

        renderer.setAxisTitleTextSize(18);
        renderer.setChartTitleTextSize(18);
        renderer.setLabelsTextSize(18);
        renderer.setLegendTextSize(18);
        int length = colors.length;
        for (int i = 0; i < length; i++) {
            SimpleSeriesRenderer r = new SimpleSeriesRenderer();
            r.setColor(colors[i]);
            renderer.addSeriesRenderer(r);
        }
        return renderer;
    }
于 2012-10-15T13:49:11.213 回答
1

您可以在季度值之间添加一些空值,例如您将获得所需的空间。

于 2012-10-15T13:08:40.983 回答