Reputation: 885
I am creating Default bar chart using Achartengine library. The values doesn't show properly. I want to show the chart value at top of the bar and align to center. For me only the values from the first bar are visible, but I want to see the values from both bars. How can I do that? I would appreciate any help.
Here is my code
public Intent getIntent(Context context)
{
// Bar 1
int[] y = { 124, 135, 443, 456, 234, 123, 342, 134, 123, 643, 234, 274 };
CategorySeries series = new CategorySeries("Demo Bar Graph 1");
for (int i = 0; i < y.length; i++) {
series.add("Bar " + (i+1), y[i]);
}
// Bar 2
int[] y2 = { 124, 135, 243, 256, 234, 223, 242, 234, 223, 243, 234, 274 };
CategorySeries series2 = new CategorySeries("Demo Bar Graph 2");
for (int i = 0; i < y.length; i++) {
series2.add("Bar " + (i+1), y2[i]);
}
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(series.toXYSeries());
dataset.addSeries(series2.toXYSeries());
// This is how the "Graph" itself will look like
XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
mRenderer.setChartTitle("Demo Graph Title");
mRenderer.setXTitle("X VALUES");
mRenderer.setYTitle("Y VALUES");
mRenderer.setAxesColor(Color.GREEN);
mRenderer.setLabelsColor(Color.RED);
mRenderer.setBarSpacing(2.0f);
// Customize bar 1
XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setColor(Color.RED);
renderer.setDisplayChartValues(true);
renderer.setChartValuesSpacing((float) 2.5);
mRenderer.addSeriesRenderer(renderer);
// Customize bar 2
XYSeriesRenderer renderer2 = new XYSeriesRenderer();
renderer.setColor(Color.GREEN);
renderer.setDisplayChartValues(true);
renderer.setChartValuesSpacing((float) 2.5);
mRenderer.addSeriesRenderer(renderer2);
Intent intent = ChartFactory.getBarChartIntent(context, dataset,mRenderer, Type.DEFAULT);
return intent;
}
Upvotes: 1
Views: 1549
Reputation: 32391
You are instantiating a renderer
and a renderer2
, but you are calling renderer.setDisplayChartValues(true)
twice and never call renderer2.setDisplayChartValue(true);
Upvotes: 3