ファイルマネージャーアプリケーションの棒グラフを作成しています。棒ごとに異なる色を表示する必要があります。
以下のコードをグローバルに記述します。
GraphicalView chartView = null;
private CategorySeries series = new CategorySeries("Space");
private XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
private XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer();
ArrayList<String> names = new ArrayList<String>();
ArrayList<String> sizes = new ArrayList<String>();
次のコードを記述して、さまざまな色を表示します。
public void getBarChart(){
for(int i = 0;i < name.length; i++){
series.add(name[i],values[i]);
multiRenderer.addXTextLabel(i, name[i]);
}
dataset.addSeries(series.toXYSeries());
XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setColor(Color.rgb(0, 255, 255));
renderer.setFillPoints(true);
renderer.setLineWidth(2);
renderer.setDisplayChartValues(true);
multiRenderer.setXLabels(0);
multiRenderer.setChartTitle("Chart Used Space");
multiRenderer.setXTitle("Name of Directory");
multiRenderer.setAxisTitleTextSize((float)18);
multiRenderer.setChartTitleTextSize((float)20);
multiRenderer.setYTitle("Amount of Space in MB");
multiRenderer.setXLabelsAngle((float)35);
multiRenderer.setLabelsTextSize((float)15);
multiRenderer.setXLabelsAlign(Align.LEFT);
multiRenderer.setZoomButtonsVisible(true);
multiRenderer.setBarSpacing((float) 1.0);
multiRenderer.addSeriesRenderer(renderer);
chartView = ChartFactory.getBarChartView(getBaseContext(), dataset, multiRenderer, org.achartengine.chart.BarChart.Type.DEFAULT);
}