3

I am trying to make two lines appear 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;

    }

Practically the same as in the video. But my doesnt work, instead of getting two different lines, I get only one. When the last data of the first line (x) ends it goes to the first data of the second line (x2), so the second line continues from the first one. Thanks in advance!

Jani Bela
  • 1,660
  • 4
  • 27
  • 50

2 Answers2

5

Shouldn't the following:

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

be actually:

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

Note the '2'.

Dheeraj Vepakomma
  • 26,870
  • 17
  • 81
  • 104
0
 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...
    }
Dixit Panchal
  • 3,406
  • 1
  • 11
  • 14