请参阅图片好友中的条形图。
这是我的问题。它首先显示所有类别。我希望每个类别都是单独的。这意味着
Salary
位于第一位,Pocket Money
位于第二位,Travel
位于第三位,Entertainment
位于第四位。
我的代码如下。
XYMultipleSeriesRenderer renderer = getBarDemoRenderer();
setChartSettings(renderer);
layout.removeAllViews();
layout.addView(ChartFactory.getBarChartView(this, getBarDemoDataset(),
renderer, Type.DEFAULT));
和
public XYMultipleSeriesRenderer getBarDemoRenderer() {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
renderer.setAxisTitleTextSize(16);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
renderer.setMargins(new int[] {20, 30, 15, 0});
SimpleSeriesRenderer r;
for (int i = 0; i < income_list.size(); i++) {
r = new SimpleSeriesRenderer();
r.setColor(color.get(i));
renderer.addSeriesRenderer(r);
r.setDisplayChartValues(true);
}
return renderer;
}
private void setChartSettings(XYMultipleSeriesRenderer renderer) {
renderer.setXTitle("Category");
renderer.setYTitle("Amount");
renderer.setXAxisMin(0.5);
renderer.setXAxisMax(4.5);
renderer.setYAxisMin(0);
renderer.setYAxisMax(10000);
}
private XYMultipleSeriesDataset getBarDemoDataset() {
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
for (int i = 0; i < income_list.size(); i++) {
CategorySeries series = new CategorySeries(cat.get(i));
series.add(income_list.get(i));
dataset.addSeries(series.toXYSeries());
}
return dataset;
}
请帮帮我朋友。我正在尝试这仍然持续6个小时的朋友。我仍然没有想到。使用achartengine
会更有帮助。
提前尝试。
答案 0 :(得分:2)
不是创建CategorySeries
,而是创建XYSeries
并以这种方式添加商品:
series.add(i + 1, income_list.get(i));
然后,你可以dataset.addSeries(series);
,因为它已经是XYSeries
,你不必致电toXYSeries()
。