views.analysis.LinearRegressionDisplay.java Source code

Java tutorial

Introduction

Here is the source code for views.analysis.LinearRegressionDisplay.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package views.analysis;

import models.DataList;
import models.Point;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

/**
 *
 * @author hourdinf
 */
public final class LinearRegressionDisplay extends AnalysisDisplay {
    DataList dataList;
    DataList linearDatalist;

    public LinearRegressionDisplay(String applicationTitle, String chartTitle, DataList dataList,
            DataList linearDataList) {
        super(applicationTitle, chartTitle);
        this.dataList = dataList;
        this.linearDatalist = linearDataList;
        initialize();

    }

    public DefaultCategoryDataset createDataset() {
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();

        for (Point p : this.dataList) {
            double value = p.getValue();
            dataset.addValue(value, "Valeur", "" + p.getX());
        }

        for (Point p : this.linearDatalist) {
            double value = p.getValue();
            dataset.addValue(value, "Rgression linaire", "" + p.getX());
        }
        System.out.println(linearDatalist);

        return dataset;
    }

    @Override
    public void initialize() {
        JFreeChart lineChart = ChartFactory.createLineChart(this.getTitle(), "Temps", "Valeurs", createDataset(),
                PlotOrientation.VERTICAL, true, true, false);

        ChartPanel chartPanel = new ChartPanel(lineChart);
        chartPanel.setPreferredSize(new java.awt.Dimension(560, 367));
        setContentPane(chartPanel);
    }

}