title: JFreeChart Scatter Plot Lines
body: <p>I'm trying to create a graph with JFreeChart, however it doesn't get the lines right. Instead of connecting the points in the order I put them, it connects the points from in order of their x-values. I'm using ChartFactory.createScatterPlot to create the plot and a XYLineAndShapeRenderer to set the lines visible.</p>
  
  <p>/edit: sscce:</p>
  
  <pre><code>package test;
  
  import org.jfree.chart.ChartFactory;
  import org.jfree.chart.ChartPanel;
  import org.jfree.chart.JFreeChart;
  import org.jfree.chart.plot.PlotOrientation;
  import org.jfree.chart.plot.XYPlot;
  import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
  import org.jfree.data.xy.XYDataset;
  import org.jfree.data.xy.XYSeries;
  import org.jfree.data.xy.XYSeriesCollection;
  import org.jfree.ui.ApplicationFrame;
  
  public class PlotTest {
      private XYSeriesCollection dataset;
  
      public static void main (String[] args) {
          new PlotTest();
      }
  
      public PlotTest () {
          dataset = new XYSeriesCollection();
          XYSeries data = new XYSeries("data");
          data.add(3, 2); //Point 1
          data.add(1, 1); //Point 2
          data.add(4, 1); //Point 3
          data.add(2, 2); //Point 4
          dataset.addSeries(data);
          showGraph();
      }
  
      private void showGraph() {
          final JFreeChart chart = createChart(dataset);
          final ChartPanel chartPanel = new ChartPanel(chart);
          chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
          final ApplicationFrame frame = new ApplicationFrame("Title");
          frame.setContentPane(chartPanel);
          frame.pack();
          frame.setVisible(true);
      }
  
      private JFreeChart createChart(final XYDataset dataset) {
          final JFreeChart chart = ChartFactory.createScatterPlot(
              "Title",                  // chart title
              "X",                      // x axis label
              "Y",                      // y axis label
              dataset,                  // data
              PlotOrientation.VERTICAL,
              true,                     // include legend
              true,                     // tooltips
              false                     // urls
          );
          XYPlot plot = (XYPlot) chart.getPlot();
          XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
          renderer.setSeriesLinesVisible(0, true);
          plot.setRenderer(renderer);
          return chart;
      }
  
  }
  </code></pre>
  
  <p>Now I want the program to connect the dots in order 1-2-3-4, which is the order I added them to my dataset. But I do get them connected in order 2-4-1-3, sorted by x-value.</p>