Как создать линию рассеяния JFreeChart, наиболее подходящую
У меня есть список точек, которые я хочу включить в диаграмму рассеяния 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;
1 ответ
Решение
Используйте встроенный Regression
метод getOLSRegression()
или статистическая библиотека, такая как Apache Commons Math, чтобы определить наклон и пересечение такой линии, используя простую регрессию. Добавьте ваши исходные данные в точечный график, как показано здесь. Добавить XYLineAnnotation
представляющие конечные точки вашей линии, как показано здесь.