4

I am trying to create Bar Chart using AchartEngine but various things doesn't work for me..

1) Unable to show Grid.

2) Unable to remove category series title i.e "Bar Graph".

3) It's not showing bars as it should show.

4) By Default white color background is visible.

is it possible to provide space between each bars??

Bar Chart Code

    CategorySeries series = new CategorySeries("Bar Graph");

    for (int i = 0; i < availCatList.size(); i++)
       series.add(availCatList.get(i), mTotal.get(i));

        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
        dataset.addSeries(series.toXYSeries());

        XYSeriesRenderer seriesRenderer = new XYSeriesRenderer();
        seriesRenderer.setChartValuesSpacing(0.5f);
        seriesRenderer.setDisplayChartValues(true);
        seriesRenderer.setColor(Color.GREEN);

        XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
        mRenderer.setChartTitle("Bar Chart");
        mRenderer.setShowGrid(true);
        mRenderer.setAxisTitleTextSize(15);
        mRenderer.setXLabelsAlign(Align.CENTER);
        mRenderer.setXTitle("Categories");
        mRenderer.setYTitle("Amount");
        mRenderer.setScale(1.0f);

        for (int i = 0; i < availCatList.size(); i++) {

            mRenderer.addXTextLabel(i + 1, availCatList.get(i));
        }

        mRenderer.setXLabels(0);

        mRenderer.addSeriesRenderer(seriesRenderer);

        view = ChartFactory.getBarChartView(this, dataset, mRenderer,
                Type.DEFAULT);

        // layout.removeAllViews();

        layout.addView(view);

Any Help would be highly appreciated..

Thanks

moDev
  • 5,248
  • 4
  • 33
  • 63

1 Answers1

2
  1. mRenderer.setShowGrid(true) works fine in all the examples in the demo code. Try to set another color using mRenderer.setGridColor(color);
  2. You mean the legend: mRenderer.setShowLegend(false);
  3. series.add(mTotal.get(i)); is the correct usage for bar charts.
  4. That's probably from the profile. Just set your own background color.

Space between bars: read the APIs for mRenderer.setBarSpacing();

Dan D.
  • 32,246
  • 5
  • 63
  • 79
  • #3 its correct, but when i have only one data, it just sticks at the bottom.. Why background color is automatically changed to white?? – moDev Feb 13 '13 at 11:52
  • if i have more than one data , its working perfectly now.. But if i have only one data, it doesn't looks good.. – moDev Feb 13 '13 at 12:09
  • When you have only one item, call renderer.setBarWidth(); – Dan D. Feb 13 '13 at 12:23
  • If i use renderer.setBarWidth(), then space between two bars has increased alot, is it possible to decrease it?? – moDev Feb 13 '13 at 14:17
  • No, as I said, use the setBarWidth() only when you have one single item. – Dan D. Feb 13 '13 at 14:56
  • 1
    i also found one new issue, when data changes dynamically from 3 to 2, blank space is generated between 1st and 3rd bar.. Is this a bug in the new api? – moDev Feb 13 '13 at 15:01
  • can we make bars horizontally with new api?? – moDev Feb 13 '13 at 15:57
  • is it possible to create different bar colors based on data that received dynamically? – moDev Feb 14 '13 at 07:21
  • http://stackoverflow.com/questions/14875769/how-to-remove-unnecessary-space-between-bars-in-achartengine – moDev Feb 14 '13 at 13:19