我使用 AChartEngine 库创建了条形图。目前我正在获得两年的收入(2011 年和 2012 年)并按月比较它们。因此,在每个栏中,我显示两年数据并每月显示它们(如 1 月、2 月等)。但我的要求是,我必须每季度显示一次……如下图所示:
这是我当前的实现:
那么我需要在哪里更改代码以便我可以实现上面的条形图?请帮忙..
我使用 AChartEngine 库创建了条形图。目前我正在获得两年的收入(2011 年和 2012 年)并按月比较它们。因此,在每个栏中,我显示两年数据并每月显示它们(如 1 月、2 月等)。但我的要求是,我必须每季度显示一次……如下图所示:
这是我当前的实现:
那么我需要在哪里更改代码以便我可以实现上面的条形图?请帮忙..
正如丹所说,您可以通过在某个位置传递空值来管理您的空间。我想为您向 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;
}
您可以在季度值之间添加一些空值,例如您将获得所需的空间。