Android 条形图的AchartEngine实现

Android 条形图的AchartEngine实现,android,bar-chart,achartengine,Android,Bar Chart,Achartengine,我使用AChartEngine库创建了条形图。目前,我得到了两年的收入(2011年和2012年),并按月进行比较。因此,在每个栏中,我显示两年的数据,并按月显示(如一月、二月等)。但我的要求是,我必须每季度显示一次。如下图所示: 以下是我当前的实现: 那么我需要在哪里更改代码,以便实现上面的条形图??请帮助。您可以在四分之一值之间添加一些空值,这样您就可以获得所需的空间。您可以在四分之一值之间添加一些空值,这样您就可以获得所需的空间。正如Dan正确地说的那样,您可以通过在特定位置传递空值来

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

以下是我当前的实现:


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

您可以在四分之一值之间添加一些空值,这样您就可以获得所需的空间。

您可以在四分之一值之间添加一些空值,这样您就可以获得所需的空间。

正如Dan正确地说的那样,您可以通过在特定位置传递空值来管理您的空间。 我想就您向dan提出的问题给出您的解决方案: 如何在x轴上显示Q1、Q2而不是1、2、3等

回答:如果X轴上有0到12位数字

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

renderer.addXTextLabel("X AXIS POSITION IN INTEGER","YOUR QUARTER STRING IN STRING");
如下所示(我是根据你的问题提出的):

已编辑

For Chaging Colors of Bar : 
您可以按如下方式设置以下代码:

int[] colors = new int[] { Color.parseColor("#4C4646"),
                    Color.parseColor("#71A700") };
            XYMultipleSeriesRenderer renderer;
            renderer = buildBarRenderer(colors);
而put方法如下所示:

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;
    }
protectedxymultipleseriesrender builder(int[]颜色){
XYMultipleReseriesRenderer渲染器=新的XYMultipleReseriesRenderer();
setAxisTitleTextSize(18);
setChartTitleTextSize(18);
setLabelsTextSize(18);
setLegendTextSize(18);
int length=colors.length;
for(int i=0;i
正如Dan所说,您可以通过在特定位置传递null值来管理您的空间。 我想就您向dan提出的问题给出您的解决方案: 如何在x轴上显示Q1、Q2而不是1、2、3等

回答:如果X轴上有0到12位数字

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

renderer.addXTextLabel("X AXIS POSITION IN INTEGER","YOUR QUARTER STRING IN STRING");
如下所示(我是根据你的问题提出的):

已编辑

For Chaging Colors of Bar : 
您可以按如下方式设置以下代码:

int[] colors = new int[] { Color.parseColor("#4C4646"),
                    Color.parseColor("#71A700") };
            XYMultipleSeriesRenderer renderer;
            renderer = buildBarRenderer(colors);
而put方法如下所示:

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;
    }
protectedxymultipleseriesrender builder(int[]颜色){
XYMultipleReseriesRenderer渲染器=新的XYMultipleReseriesRenderer();
setAxisTitleTextSize(18);
setChartTitleTextSize(18);
setLabelsTextSize(18);
setLegendTextSize(18);
int length=colors.length;
for(int i=0;i
我很清楚您已经做了什么,但从这张图片中,我无法了解您想要做什么。你能再简单地描述一下吗?你说的季度是什么意思?看,我想我们得到了2011年和2012年的月度数据。现在,对于前三个月(第一季度,第一季度),我必须以3个条形图显示数据,即1月、2月和3月的数据。现在应该还有空间,必须显示未来三个月的数据(第二季度)。因此,每个条形图都包含2011年和2012年之间的比较。@Bhavesh你能帮我更改2012年数据条形图的颜色吗?@ArindamMukherjee嗨,我需要你的帮助来实现相同的功能,你能帮我吗?我清楚地知道你已经做了什么,但从这张图片中,我无法得到你想要做的事情。你能再简单地描述一下吗?你说的季度是什么意思?看,我想我们得到了2011年和2012年的月度数据。现在,对于前三个月(第一季度,第一季度),我必须以3个条形图显示数据,即1月、2月和3月的数据。现在应该还有空间,必须显示未来三个月的数据(第二季度)。因此,每个条形图都包含2011年和2012年之间的比较。@Bhavesh您能帮我更改2012年数据条形图的颜色吗?@ArindamMukherjee hi我需要您的帮助来实现相同的功能,您能帮我吗?确定..但在添加空值后,我将如何在x轴中显示Q1、Q2而不是1、2、3等,我有一些空格。我将如何写q1,q2而不是0,1,2。大家好。我能够正确显示q1,q2等。但现在我需要对每个栏的颜色进行一些更改。2011年和1月,我将显示灰色,2012年显示蓝色。所以在单个栏中,我将获得两种颜色。但是在2月,我需要2011年的颜色为灰色,2012年的颜色为红色。对于3月份,它应该是灰色和黄色。如何进行更改。请帮助我。颜色由渲染器控制,每个系列都有一个渲染器。你必须有多个系列才能有多个颜色。在BuildBallenderer(颜色)中,如果我们添加多个颜色,我们可以实现这一点吗?…好的..但是我将如何在x轴上显示Q1、Q2而不是1、2、3等..添加空值后,我得到了一些空格..我将如何写入Q1、Q2而不是0、1,2.大家好,我能够正确显示Q1、Q2等。但是现在我需要对每个栏的颜色进行一些更改。2011年和1月份,我将显示灰色,2012年显示蓝色。因此,在单个栏中,我得到两种颜色。但是2月份,我需要2011年的颜色为灰色,2012年的颜色为红色。3月份,它应该是灰色和黄色。如何进行更改。请帮助我。颜色由渲染器控制,每个系列都有一个渲染器。您必须有多个系列才能有多个颜色。在