Я создаю динамическую демографию на гистограмме, я перерисовываю следующую панель при каждом нажатии. Но проблема в том, чтоПроблема с черновой графикой для Android AchartEngine
- Бар добавляет справа.
- Размер бара продолжает сокращаться при добавлении новых баров.
Я должен сделать брусок, который добавляет слева с фиксированной шириной бара.
Вот что происходит с скриншотами
КОД:
dataset = new XYMultipleSeriesDataset();
series = new XYSeries("data");
dataset.addSeries(series);
/*
* for (int i = 0; i < 20; i++) { series.add(0, 0); }
*/
// Now we create the renderer
renderer = new XYSeriesRenderer();
renderer.setLineWidth(1);
renderer.setColor(Color.RED);
renderer.setChartValuesSpacing(1);
// Include low and max value
// we add point markers
renderer.setPointStyle(PointStyle.CIRCLE);
renderer.setPointStrokeWidth(.1f);
renderer.setShowLegendItem(false);
mRenderer = new XYMultipleSeriesRenderer();
mRenderer.addSeriesRenderer(renderer);
mRenderer.setBackgroundColor(Color.argb(0x00, 0xff, 0xff, 0xff));
// We want to avoid black border
mRenderer.setMarginsColor(Color.argb(0x00, 0xff, 0x00, 0x00)); // transparent
mRenderer.setAxesColor(Color.argb(0x00, 0xff, 0x00, 0x00));
mRenderer.setGridColor(Color.argb(0x00, 0xff, 0x00, 0x00)); // margins
// margins
// Disable Pan on two axis
mRenderer.setPanEnabled(false, false);
mRenderer.setYAxisMax(20);
mRenderer.setYAxisMin(0);
mRenderer.setShowGrid(false); // we show the grid
mRenderer.clearYTextLabels();
mRenderer.setShowGridY(false);
mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.argb(0x00, 0xff, 0xff, 0xff));
mRenderer.setMarginsColor(Color.argb(0x00, 0xff, 0xff, 0xff));
mRenderer.setPanEnabled(false, false);
mRenderer.setZoomEnabled(false, false);
mRenderer.setShowLabels(false);
mRenderer.setXLabelsPadding(2);
mRenderer.setPointSize(1);
mRenderer.setBarSpacing(.2);
mChartView = ChartFactory.getBarChartView(this, dataset, mRenderer,
BarChart.Type.DEFAULT);
graphLayout.addView(mChartView, 0);
b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
generate();
}
});
}
protected void generate() {
int r = randInt(1, 20);
// dataset.addSeries(series);
series.add(0, r);
mChartView.repaint();
}