2
votes

I'm using aChartEngine library in android to draw bar chart which has to show two series. one Y-axis values ranges from 50-350, and second ranges from 1000-4000. It have to plot Mathhelper.NULL values also. I'am fetching dataset from database, and shows custom dates as Xlabels, its working fine now

its not looking good, we cannot understand anything from this graph.

http://postimg.org/image/ysuwn5n33/ enter image description here

after zoom it looks like,

http://postimg.org/image/4yvuf41xj/ enter image description here

 public XYMultipleSeriesRenderer getDemoRenderer() {

    try {
        renderer.setChartTitle("Pre-meal Blood Sugar");
        renderer.setAxisTitleTextSize(16);
        renderer.setChartTitleTextSize(20);
        renderer.setLabelsTextSize(15);
        renderer.setLegendTextSize(15);
        renderer.setYAxisMax(100);
        renderer.setPointSize(5f);
        renderer.setXLabels(0);
        renderer.setXTitle("Date");
        renderer.setYTitle("Glucose / Pedometer Readings");

        renderer.setZoomButtonsVisible(true);
        renderer.setZoomEnabled(true);
        renderer.setZoomRate(10f);
        renderer.setMargins(new int[] { 20, 30, 15, 0 });
        XYSeriesRenderer r = new XYSeriesRenderer();
        r.setColor(Color.BLUE);
        r.setPointStyle(PointStyle.SQUARE);
        r.setFillPoints(true);
        renderer.addSeriesRenderer(r);
        r = new XYSeriesRenderer();
        r.setPointStyle(PointStyle.CIRCLE);
        r.setColor(Color.GREEN);
        r.setFillPoints(true);
        r.setChartValuesSpacing((float) 5.5d);
        r .setDisplayChartValues(true);
        renderer.addSeriesRenderer(r);
        renderer.setAxesColor(Color.DKGRAY);
        renderer.setXLabelsPadding(25);
        renderer.setLabelsColor(Color.LTGRAY);
        return renderer;



    } catch (Exception e) {
        Log.e("Exception", e.getMessage());
    }
    return renderer;
}

and invoke intent as

Intent preintent=ChartFactory.getBarChartIntent(this,
            premeals.getDemoDataset(), premeals.getDemoRenderer(),Type.DEFAULT);

is it possible to plot dual Y-axis for bar char in aChartEngine ??

any help will be appreciated..

1
also y-axis Label values incremented by 20 units only. which reduces the visibility of graph values. i tried using 'renderer.setYlabels(50);' which results in Exception -Dataset and renderer should not be null or equal in number ! please help me out.. - DreamzUpAbove
You mean something like this: [dual axis][1] ? [1]: stackoverflow.com/questions/8786435/… - Christian
Exactly i mean that. or at least help me to scale Y-axis. Now its values like (20,40,60,...). I need it as (200,400,600,..).Thank you , mr.Chris for your response. - DreamzUpAbove

1 Answers

1
votes

(lol, I can´t comment because I dont have enough reputation, oh well...) I dont really know what you really want, if I understand you correctly, you want the Y axis on the left to show values like 20, 40, 60 etc and on the right side 1000-400, correct? If so, look at the example I posted. You have to normaly add the dataset and after that use addXYSeries (see line 103 in example) and attach the desired values (the variable name vor values is values as well here).

Hope it helps..