如何组合多系列条形图和折线图

时间:2013-11-24 18:09:30

标签: android achartengine

我想在AChartEngine中将条形图与2个数据系列和折线图组合在一起,但我无法做到这一点。在AChartEngine演示中,我发现只有一个例子,它结合了单个系列条形图和折线图(组合温度)。

我想要的是什么: http://i.imgur.com/Jxq0BTV.jpg

如果我在组合XY图表的数据集中定义3个系列(2表示条形图,1表示折线图),如下所示: ChartFactory.getCombinedXYChartView(ctx, dataset, renderer, new String[] { BarChart.TYPE, BarChart.TYPE, LineChart.TYPE });

...然后我得到了这个结果: http://i.imgur.com/71HAPo3.jpg

如果我定义3个系列和2个图表类型:
ChartFactory.getCombinedXYChartView(ctx, dataset, renderer, new String[] { BarChart.TYPE, LineChart.TYPE });

...然后我得到一个例外:
java.lang.IllegalArgumentException: Dataset, renderer and types should be not null and the datasets series count should be equal to the types length
at org.achartengine.ChartFactory.getCombinedXYChartView(ChartFactory.java:202)

我是否误解了某些内容,或者AChartEngine是否完全不支持多系列条形图和折线图?

2 个答案:

答案 0 :(得分:2)

请参阅:http://tapt007.hubpages.com/hub/Android-Combined-Charts希望它对您有所帮助。

答案 1 :(得分:0)

从AChartEngine演示中的“组合温度”示例开始,您可以保持LineChartBarChart的方式,并添加新的BarChart。两个条形图的x轴值应略有不同,例如它们不重叠。例如,如果x值应为1,则第一个条形图可以在0.75添加值,在1.25添加第二个值。这样它们将被单独渲染。

另外,设置主渲染器栏间距:renderer.setBarSpacing(1);表示同一系列中2个项目之间的空格等于一个栏的宽度。