-2

I am working on graph chart using aChartEngine, the problem faced is that the although graph are generating, problem is graph is not coming as per need inside the view, how to fix it ??

When selecting Bar from drop down Before zoom

After Zooming Out and panning(by interacting with graph) enter image description here

Here is my code

private static XYMultipleSeriesDataset getBarDataset(int rightAnswers, int wrongAnswers) 
{
         String[] labels={"right","wrong"};
          List<Double> values = new ArrayList<Double>();
            values.add((double) rightAnswers);
            values.add((double) wrongAnswers);
            XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
            for (int i = 0; i < titles.length; i++) 
            {
                XYSeries series = new XYSeries(titles[i]);
                series.add(i,values.get(i));
                dataset.addSeries(i,series);
            }
            return dataset;
}

2)Renderer

protected static XYMultipleSeriesRenderer buildBarRenderer(int[] colors) {
        XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
        renderer.addXTextLabel(0, "right");
        renderer.addXTextLabel(1, "wrong");
        renderer.setChartTitle("Results");

        int length = colors.length;
          SimpleSeriesRenderer r = new SimpleSeriesRenderer();
          r.setColor(colors[0]);
          renderer.addSeriesRenderer(r);
          r = new SimpleSeriesRenderer();
          r.setColor(colors[1]);
          renderer.addSeriesRenderer(r);
          renderer.setScale(10);
          renderer.setXLabels(0);
          renderer.setApplyBackgroundColor(true);
          renderer.setBackgroundColor(Color.WHITE);
          renderer.setAxesColor(Color.CYAN);
        renderer.setBarWidth(30);
        return renderer;
      }

3) the view

ChartFactory.getBarChartView(context, getBarDataset(rightAnswers, wrongAnswers), buildBarRenderer(new int[]{Color.GREEN,Color.RED}), Type.DEFAULT);

Query

1) How to fix the position and exact panned graph

2) Can we have 3d effect on bars??How??

3) Is there any other library simpler compared to aChartEngine??

Akhil Jain
  • 13,872
  • 15
  • 57
  • 93

1 Answers1

1

To solve the problem of having bar inside the graph we need to specify X-axis and Y-axis min and max based on your minimum and maximum values,eg; for the renderer, you need

renderer.setXAxisMin(-1);
renderer.setXAxisMax(wrongAnswers);
renderer.setYAxisMax(10);
renderer.setYAxisMin(0);

so the final result comes out to be

final result

Akhil Jain
  • 13,872
  • 15
  • 57
  • 93