2011-07-11 5 views
1

J'ai une liste de points que je veux inclure dans un diagramme de dispersion JFreeChart. Cela fonctionne bien, mais je veux maintenant une ligne de meilleur ajustement. Après quelques recherches, JFreeChart ne supporte pas de tels calculs directement, donc ce que je veux faire est de le calculer moi-même et ensuite coller une ligne dans le graphique manuellement. Comment obtenir une ligne dans un nuage de points?Comment créer une ligne d'ajustement de diagramme de dispersion JFreeChart

 XYSeries series = new XYSeries("Data"); 
     for (Point p : points) { 
      series.add(p.getX(), p.getY()); 
     } 
     XYSeriesCollection dataset = new XYSeriesCollection(series); 
     JFreeChart chart = ChartFactory.createScatterPlot(chartName, "Mass", parameter, dataset, PlotOrientation.VERTICAL, false, true, true); 
     return chart; 

Répondre

3

Utilisez le Regression intégré procédé getOLSRegression() ou une bibliothèque statistique tel que Apache Commons Math pour déterminer la pente et l'ordonnée à l'origine d'une telle ligne en utilisant une régression simple. Ajoutez vos données d'origine à un nuage de points, comme indiqué here. Ajoutez un XYLineAnnotation représentant les extrémités de votre ligne, comme indiqué here.

Questions connexes