首页 文章

用于条形图的AchartEngine的实现

提问于
浏览
1

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

Bar Image

这是我目前的实施:

Implemented Code

Current Bar Graph Image

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

2 回答

  • 3

    您可以在四分之一值之间添加一些空值,例如,您将获得所需的空间 .

  • 1

    正如Dan所说,你可以通过在某个地方传递空值来管理你的空间 . 我想为你提出的问题提出你的解决方案:我将如何在x轴上显示Q1,Q2而不是1,2,3等?

    答:如果您在X轴中有0到12位数 .

    您可以通过Below方法管理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");
    

    EDITED

    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;
        }
    

相关问题