JFreeChart Scatter Plot Lines

Je suis en train de créer un graphique avec JFreeChart, cependant elle n'est pas la bonne. Au lieu de relier les points dans l'ordre je les ai mis, il relie des points dans l'ordre de leurs valeurs de x. Je suis en utilisant ChartFactory.createScatterPlot pour créer l'intrigue et un XYLineAndShapeRenderer pour définir les lignes visibles.

/edit: sscce:

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;
}
}

Maintenant, je veux le programme de relier les points dans l'ordre 1-2-3-4, qui est l'ordre que j'ai ajouté à mon dataset. Mais je ne connecter afin 2-4-1-3, triés par x-valeur.

source d'informationauteur hvitedragonfire