Как создать линию рассеяния 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 представляющие конечные точки вашей линии, как показано здесь.

Другие вопросы по тегам