Achartengine multiple lines on one line

I am trying to make two lines in a graph according to this video: http://www.youtube.com/watch?v=5DGldVzC-bU

My code:

public class LineGraph {
    public Intent getIntent(Context context){


        int[] x = {1,2,3,4,5,6,7,8,9,10}; 
        int[] y = {31,29,54,94,75,36,47,118,92,10};



        TimeSeries series = new TimeSeries("Line1");
        for (int i=0;i<x.length;i++){
            series.add(x[i],y[i]);
        }

        int[] x2 = {1,2,3,4,5,6,7,8,9,10}; 
        int[] y2 = {39,145,35,87,2,65,48,49,100,106};

        TimeSeries series2 = new TimeSeries("Line2");
        for (int i=0;i<x2.length;i++){
            series.add(x2[i],y2[i]);
        }



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



        XYSeriesRenderer renderer = new XYSeriesRenderer();
        renderer.setColor(Color.CYAN);
        renderer.setPointStyle(PointStyle.SQUARE);
        renderer.setFillPoints(true);
        renderer.setLineWidth(3);
        renderer.setDisplayChartValues(true);

        XYSeriesRenderer renderer2 = new XYSeriesRenderer();
        renderer2.setColor(Color.BLACK);
        renderer2.setPointStyle(PointStyle.CIRCLE);
        renderer2.setFillPoints(true);
        renderer2.setLineWidth(3);
        renderer2.setDisplayChartValues(true);

        XYMultipleSeriesRenderer mrenderer = new XYMultipleSeriesRenderer();
        mrenderer.addSeriesRenderer(renderer);
        mrenderer.addSeriesRenderer(renderer2);

        mrenderer.setChartTitle("title");

        mrenderer.setBackgroundColor(Color.WHITE);

        mrenderer.setShowGrid(true);
        mrenderer.setApplyBackgroundColor(true);

        mrenderer.setXTitle("Days");
        mrenderer.setYTitle("datas");

        mrenderer.setGridColor(Color.GRAY);
    //  mrenderer.setZoomButtonsVisible(true);

        Intent intent = ChartFactory.getLineChartIntent(context, dataset, mrenderer, "Line graph title");
        return intent;

    }

      

Almost the same as in the video. But mine doesn't work, instead of getting two different lines, I only get one. When the last data of the first row (x) ends, it goes to the first data of the second row (x2), so the second row continues from the first. Thanks in advance!

+3


source to share


2 answers


Do not do it:

series.add(x2[i],y2[i]);

      

in fact:



series2.add(x2[i],y2[i]);

      

Pay attention to "2".

+5


source


 TimeSeries series = new TimeSeries("Line1");
    for (int i=0;i<x.length;i++){
        series.add(x[i],y[i]);
    }

    int[] x2 = {1,2,3,4,5,6,7,8,9,10}; 
    int[] y2 = {39,145,35,87,2,65,48,49,100,106};

    TimeSeries series2 = new TimeSeries("Line2");
    for (int i=0;i<x2.length;i++){
        series2.add(x2[i],y2[i]); // The change is here...
    }

      



0


source







All Articles