次のコードを使用して、Android で AchartEngine を使用してグラフを描画しました。multiRenderer.setXAxisMin(0) を使用しても、最小値は x 軸の最小値に設定されます。最低値も表示する必要があります。また、バーのカラー インジケーターを削除する必要があります。
private String[] mMonth = new String[] { "Jan", "Feb", "Mar", "Apr", "May",
"Jun", "Jul" };
int[] x = { 0, 1, 2, 3, 4, 5, 6 };
int[] income = { 2000, 2400, 2500, 2700, 3000, 2800, 3500, 3700, };
XYSeries incomeSeries = new XYSeries("");
for (int i = 0; i < x.length; i++) {
incomeSeries.add(i, income[i]);
}
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(incomeSeries);
XYSeriesRenderer incomeRenderer = new XYSeriesRenderer();
incomeRenderer.setColor(Color.rgb(207, 44, 46));
incomeRenderer.setFillPoints(true);
incomeRenderer.setLineWidth(1);
incomeRenderer.setDisplayChartValues(true);
XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer();
multiRenderer.setXLabels(0);
multiRenderer.setBarSpacing(1);
for (int i = 0; i < x.length; i++) {
multiRenderer.addXTextLabel(i, mMonth[i]);
}
multiRenderer.addSeriesRenderer(incomeRenderer);
multiRenderer.setPanEnabled(false, false);
multiRenderer.setBackgroundColor(Color.rgb(255, 255, 255));
multiRenderer.setZoomEnabled(false, false);
multiRenderer.setXAxisMin(0);
multiRenderer.setLabelsTextSize(30);
multiRenderer.setShowAxes(false);
multiRenderer.setGridColor(Color.rgb(130, 130, 230));
multiRenderer.setInScroll(true);
multiRenderer.setMarginsColor(Color.argb(0x00, 0x01, 0x01, 0x01));
multiRenderer.setShowAxes(false);
multiRenderer.setXAxisMin(0);
int length = multiRenderer.getSeriesRendererCount();
for (int i = 0; i < length; i++) {
multiRenderer.getSeriesRendererAt(i).setDisplayChartValues(false);
}
LinearLayout chartContainer = (LinearLayout) findViewById(R.id.chart_container);
mChart = (GraphicalView) ChartFactory.getBarChartView(getBaseContext(),
dataset, multiRenderer, Type.DEFAULT);
chartContainer.addView(mChart);