Как мне создать линию наилучшего соответствия диаграммы рассеивания 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;

person Steve    schedule 11.07.2011    source источник


Ответы (1)


Используйте встроенную функцию Regression. метод getOLSRegression() или статистическую библиотеку, такую ​​как Apache Commons Math, чтобы определить наклон и пересечение такую ​​линию с помощью простой регрессии. Добавьте исходные данные в диаграмму рассеяния, как показано здесь. Добавьте XYLineAnnotation, представляющий конечные точки вашей строки, как показано здесь.

person trashgod    schedule 12.07.2011