我有一个要包含在JFreeChart散点图中的点的数组列表.那很好,但是我现在想要一条最合适的线.经过一番搜索后,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;
解决方法:
使用内置的Regression
方法getOLSRegression()
或统计库(例如Apache Commons Math),使用简单的回归来确定该直线的斜率和截距.将原始数据添加到散点图中,如here所示.添加代表行端点的XYLineAnnotation
,如图here所示.