Example usage for org.jfree.data.xy XYSeries XYSeries

List of usage examples for org.jfree.data.xy XYSeries XYSeries

Introduction

In this page you can find the example usage for org.jfree.data.xy XYSeries XYSeries.

Prototype

public XYSeries(Comparable key) 

Source Link

Document

Creates a new empty series.

Usage

From source file:com.heatonresearch.aifh.examples.rbf.LearnIrisAnnealROC.java

public LearnIrisAnnealROC() {
    this.setSize(640, 480);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setTitle("Iris Classify ROC");
    Container content = this.getContentPane();
    content.setLayout(new BorderLayout());

    this.dataset = new XYSeriesCollection();
    this.dataSeries1 = new XYSeries("Threshold");
    this.dataset.addSeries(this.dataSeries1);

    final JFreeChart lineChart = ChartFactory.createXYLineChart("Line Chart Demo 6", // chart title
            FPR, // x axis label
            TPR, // y axis label
            this.dataset, // data
            PlotOrientation.VERTICAL, true, // include legend
            true, // tooltips
            false // urls
    );//from  w  w  w .  j  ava2s  . c  o m

    ChartPanel chartPanel = new ChartPanel(lineChart);
    chartPanel.setPreferredSize(new java.awt.Dimension(560, 367));
    content.add(chartPanel, BorderLayout.CENTER);

    JPanel buttonPanel = new JPanel();
    buttonPanel.add(this.buttonAnneal = new JButton("Anneal"));
    buttonPanel.add(this.buttonReset = new JButton("Reset"));
    this.buttonAnneal.addActionListener(this);
    this.buttonReset.addActionListener(this);
    content.add(buttonPanel, BorderLayout.SOUTH);

    this.training = loadIrisData();

    this.network = new RBFNetwork(4, 4, 1);
    this.network.reset(new MersenneTwisterGenerateRandom());

    final ScoreFunction score = new ScoreRegressionData(this.training);
    this.trainer = new TrainAnneal(this.network, score);
}

From source file:net.bioclipse.seneca.views.BestStructureView.java

public void createPartControl(Composite parent) {
    SashForm sash = new SashForm(parent, SWT.VERTICAL);
    jcpwidget = new JChemPaintEditorWidget(sash, SWT.PUSH);
    Composite contChartcomposite = new Composite(sash, SWT.EMBEDDED);
    FillLayout layout = new FillLayout(SWT.VERTICAL);
    contChartcomposite.setLayout(layout);
    fileTableFrame = SWT_AWT.new_Frame(contChartcomposite);

    String xAxisLabel = "Steps";
    String yAxisLabel = "Temperature/Score";
    String title = "Annealing progress";
    XYSeries series = new XYSeries("Signal");
    for (int i = 0; i < (maxSteps != 0 ? maxSteps : temps.size()); i++) {
        if (i < temps.size())
            series.add(i, temps.get(i));
        else//from   w w w.jav  a  2s.  c o m
            series.add(i, 0);
    }

    XYDataset xyDataset = new XYSeriesCollection(series);
    continuousChart = ChartFactory.createXYAreaChart(title, xAxisLabel, yAxisLabel, xyDataset,
            PlotOrientation.VERTICAL, false, true, false);
    continuousChart.setAntiAlias(false);

    XYPlot continuousPlot = continuousChart.getXYPlot();

    continuousPlot.setRenderer(new StandardXYItemRenderer());
    ChartPanel chart = new ChartPanel(continuousChart);
    fileTableFrame.add(chart);
    //fileTableFrame.validate();
    //fileTableFrame.repaint();

}

From source file:ch.zhaw.init.walj.projectmanagement.util.chart.LineChart.java

/**
 * creates a dataset with the booked effort (in hours) of a specific employee
 * @param employeeID ID of an employee /*w w  w .  j a  va  2  s .co m*/
 * @return dataset with booked hours
 */
private XYSeriesCollection createDataset(int employeeID) {

    // initialize variables
    Effort effort = new Effort(tasks, path);
    double bookedEffort;
    XYSeries booked = new XYSeries("Booked");
    int projectMonths = project.getNumberOfMonths();

    // get booked effort for every month
    for (double i = 1; i <= projectMonths; i++) {

        if (effort.getBookedEffortPerMonth(i, employeeID) != 0) {
            bookedEffort = effort.getBookedEffortPerMonth(i, employeeID);
            booked.add(i, bookedEffort);
        }

    }

    // add booked effort to dataset
    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(booked);

    return dataset;
}

From source file:org.jfree.data.xy.XYSeriesTest.java

/**
 * Some simple checks for the hashCode() method.
 *//* w ww. j a  v a2  s  .  c o m*/
@Test
public void testHashCode() {
    XYSeries s1 = new XYSeries("Test");
    XYSeries s2 = new XYSeries("Test");
    assertEquals(s1, s2);
    assertEquals(s1.hashCode(), s2.hashCode());

    s1.add(1.0, 500.0);
    s2.add(1.0, 500.0);
    assertEquals(s1, s2);
    assertEquals(s1.hashCode(), s2.hashCode());

    s1.add(2.0, null);
    s2.add(2.0, null);
    assertEquals(s1, s2);
    assertEquals(s1.hashCode(), s2.hashCode());

    s1.add(5.0, 111.0);
    s2.add(5.0, 111.0);
    assertEquals(s1, s2);
    assertEquals(s1.hashCode(), s2.hashCode());

    s1.add(9.0, 1.0);
    s2.add(9.0, 1.0);
    assertEquals(s1, s2);
    assertEquals(s1.hashCode(), s2.hashCode());
}

From source file:gui.DendrogramChart.java

private void setChartData(JFreeChart chart, boolean log) {
    XYSeries series = new XYSeries("Similarity vs No. of Groups");

    double rSim = d.getRootSimilarity();
    double diff = 1 - rSim;

    // TODO: What causes this?
    if (diff == 0)
        return;//  w ww.j  a  v  a  2s.  com

    for (double sim = rSim; sim <= 1.0; sim += (diff / 50)) {
        series.add(sim, d.getGroupCount(sim));
    }

    XYSeriesCollection data = new XYSeriesCollection(series);
    chart.getXYPlot().setDataset(data);
}

From source file:cs.register.geraGrafico.java

private XYDataset datarank(List<partida> list1) {
    XYSeriesCollection data = new XYSeriesCollection();
    XYSeries ser = new XYSeries("kda");
    for (partida p : list1) {
        ser.add(list1.indexOf(p) + 1, p.getRank());
    }//from  w  w w  .  j  av a  2  s  .  c o  m
    data.addSeries(ser);

    return data;
}

From source file:org.jfree.data.xy.IntervalXYDelegateTest.java

/**
 * Serialize an instance, restore it, and check for equality.
 *//*  w  w  w . jav  a2s .  c o m*/
@Test
public void testSerialization() {
    XYSeries s1 = new XYSeries("Series");
    s1.add(1.2, 3.4);
    XYSeriesCollection c1 = new XYSeriesCollection();
    c1.addSeries(s1);
    IntervalXYDelegate d1 = new IntervalXYDelegate(c1);
    IntervalXYDelegate d2 = (IntervalXYDelegate) TestUtilities.serialised(d1);
    assertEquals(d1, d2);
}

From source file:com.wattzap.model.GPXReader.java

/**
 * Load GPX data from file/*from   w ww .  j av  a 2 s. co m*/
 * 
 * @param filename
 *            name of file to load
 * 
 */
public void load(String filename) {
    points = null;
    gpxFile = new GPXFile(new File(filename));
    fileName = filename.substring(0, filename.lastIndexOf('.'));

    List<Track> routes = gpxFile.getTracks();
    if (routes.size() == 0) {
        throw new RuntimeException("No tracks in file");
    }
    Track route = routes.get(0);
    if (route == null) {
        System.err.println("no route in GPX file");
        return;
    }

    List<WaypointGroup> segs = route.getTracksegs();
    this.series = new XYSeries("");

    double distance = 0.0;
    long startTime = System.currentTimeMillis();

    /*
     * A GPX file can contain more than 1 segment. There may, or may not, be
     * a distance gap between segments. For example, due to a tunnel. We
     * treat each segment independently even if they correspond to a
     * contiguous video.
     */
    long lastSegTime = 0;
    for (WaypointGroup group : segs) {

        Rolling altitude = new Rolling(10);
        List<Waypoint> waypoints = group.getWaypoints();

        // group.correctElevation(true);
        Point[] segment = new Point[group.getNumPts()];

        Waypoint last = null;
        int index = 0;
        long currentTime = 0;
        for (Waypoint wp : waypoints) {
            Date d = wp.getTime();
            if (d != null) {
                currentTime = d.getTime();
            }

            if (index == 0) {
                last = wp;
                if (lastSegTime > 0 && currentTime > 0) {
                    startTime += currentTime - lastSegTime;
                } else {
                    startTime = currentTime;
                }
            }

            Point p = new Point();
            p.setElevation(wp.getEle());
            p.setLatitude(wp.getLat());
            p.setLongitude(wp.getLon());
            // TODO need to deduct gap time

            double leg = distance(wp.getLat(), last.getLat(), wp.getLon(), last.getLon(), last.getEle(),
                    wp.getEle());
            distance += leg;
            p.setDistanceFromStart(distance);

            // smooth altitudes a bit
            altitude.add(wp.getEle());
            series.add(distance / 1000, altitude.getAverage());

            // speed = distance / time
            if (currentTime > 0) {
                p.setTime(currentTime - startTime);

                long t = currentTime - last.getTime().getTime();
                p.setSpeed((leg * 3600 / t));
            }
            segment[index++] = p;
            last = wp;
        } // for

        if (currentTime > 0) {
            lastSegTime = last.getTime().getTime();
        }
        // set initial speed
        segment[0].setSpeed(segment[1].getSpeed());

        /*
         * Calculate the gradient, we do this using blocks of 100 meters
         * using a moving average of 10 values.
         */
        int i = 0;
        int j = 0;
        Rolling gradient = new Rolling(10);
        for (Point p : segment) {
            if (p.getDistanceFromStart() > segment[i].getDistanceFromStart() + gradientDistance) {
                double slope = 100 * (p.getElevation() - segment[i].getElevation())
                        / (p.getDistanceFromStart() - segment[i].getDistanceFromStart());
                gradient.add(slope);
                if (slope > maxSlope) {
                    maxSlope = slope;
                }
                if (slope < minSlope) {
                    minSlope = slope;
                }
                segment[i++].setGradient(gradient.getAverage());
            }
            j++;
        }

        while (i < j - 1) {
            double slope = 100 * (segment[j - 1].getElevation() - segment[i].getElevation())
                    / (segment[j - 1].getDistanceFromStart() - segment[i].getDistanceFromStart());
            gradient.add(slope);
            segment[i++].setGradient(gradient.getAverage());
        }
        segment[i++].setGradient(gradient.getAverage());
        // gradient done

        // resistance levels - use blocks of 500 meters
        // levels done

        // combine segment
        points = ArrayUtils.addAll(points, segment);
    }
}

From source file:org.matsim.pt.counts.obsolete.PtCountsSimRealPerHourGraph.java

/**
 * @param hour/*from  w w  w  . ja  v a  2  s . co m*/
 *            A value in 1..24, 1 for 0 a.m. to 1 a.m., 2 for 1 a.m. to 2
 *            a.m. ...
 */
@Override
@Deprecated // use standard counts package
public JFreeChart createChart(final int hour) {
    this.hour = hour;

    XYSeriesCollection dataset0 = new XYSeriesCollection();
    XYSeries series = new XYSeries("MATSim volumes");
    // easier to use another dataset
    XYSeriesCollection dataset_outliers = new XYSeriesCollection();
    XYSeries series_outliers = new XYSeries("MATSim outliers");

    CustomXYURLGenerator url_gen = new CustomXYURLGenerator();
    CustomXYToolTipGenerator tt_gen = new CustomXYToolTipGenerator();

    final ArrayList<String> urls = new ArrayList<String>();
    final ArrayList<String> tooltips = new ArrayList<String>();
    List<Comp> comps = new Vector<Comp>();

    Iterator<CountSimComparison> l_it = this.ccl_.iterator();
    // int elementCounter=0;
    while (l_it.hasNext()) {
        CountSimComparison cc = l_it.next();

        /*
         * values with simVal==0.0 or countVal==0.0 are drawn on the x==1
         * or/and y==1-line Such values are the result of a poor simulation
         * run, but they can also represent a valid result (closing summer
         * road during winter time)
         */
        if (cc.getHour() == hour) {
            // elementCounter++;
            double realVal = 1.0;
            double simVal = 1.0;
            if (cc.getCountValue() > 0.0 && cc.getSimulationValue() > 0.0) {
                realVal = cc.getCountValue();
                simVal = cc.getSimulationValue();
                series.add(realVal, simVal);
                comps.add(new Comp(realVal, "link" + cc.getId() + ".html",
                        "Link " + cc.getId() + "; " + "Count: " + realVal + ", Sim: " + simVal));
            } else {
                realVal = Math.max(1.0, cc.getCountValue());
                simVal = Math.max(1.0, cc.getSimulationValue());
                series_outliers.add(realVal, simVal);
            }

        } // if
    } // while
    dataset0.addSeries(series);
    dataset_outliers.addSeries(series_outliers);

    /*
     * first we have to sort the vector according to the rendering ordering
     * (which is the x value). REALLY??? After hours of searching no better
     * solution found! please help!
     */

    Collections.sort(comps, new MyComparator());

    for (Iterator<Comp> iter = comps.iterator(); iter.hasNext();) {
        Comp cp = iter.next();
        urls.add(cp.getURL());
        tooltips.add(cp.getTooltip());
    }

    url_gen.addURLSeries(urls);
    tt_gen.addToolTipSeries(tooltips);

    String title = "[" + this.countsType + "]\tVolumes " + (hour - 1) + ":00 - " + (hour) + ":00, Iteration: "
            + this.iteration_;
    this.setChartTitle(title);
    this.chart_ = ChartFactory.createXYLineChart(title, "Count Volumes [veh/h]", // x axis label
            "Sim Volumes [veh/h]", // y axis label
            dataset0, // data
            PlotOrientation.VERTICAL, false, // include legend
            true, // tooltips
            true // urls
    );
    XYPlot plot = this.chart_.getXYPlot();
    final LogarithmicAxis axis_x = new LogarithmicAxis("Count Volumes [veh/h]");
    final LogarithmicAxis axis_y = new LogarithmicAxis("Sim Volumes [veh/h]");
    axis_x.setAllowNegativesFlag(false);
    axis_y.setAllowNegativesFlag(false);

    // regular values
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setLinesVisible(false);
    renderer.setURLGenerator(url_gen);
    renderer.setSeriesPaint(0, Color.black);
    renderer.setSeriesToolTipGenerator(0, tt_gen);
    renderer.setSeriesShape(0, new Rectangle2D.Double(-1.5, -1.5, 3.0, 3.0));

    // outliers
    XYLineAndShapeRenderer renderer2 = new XYLineAndShapeRenderer();
    renderer2.setLinesVisible(false);
    renderer2.setSeriesPaint(0, Color.red);
    renderer2.setSeriesShape(0, new Ellipse2D.Double(-3.0, -3.0, 6.0, 6.0));

    // error band
    DefaultXYDataset dataset1 = new DefaultXYDataset();
    dataset1.addSeries("f1x", new double[][] { { 1.0, 10000.0 }, { 1.0, 10000.0 } });
    dataset1.addSeries("f2x", new double[][] { { 1.0, 10000.0 }, { 2.0, 20000.0 } });
    dataset1.addSeries("f05x", new double[][] { { 2.0, 10000.0 }, { 1.0, 5000.0 } });

    XYLineAndShapeRenderer renderer3 = new XYLineAndShapeRenderer();
    renderer3.setShapesVisible(false);
    renderer3.setSeriesPaint(0, Color.blue);
    renderer3.setSeriesPaint(1, Color.blue);
    renderer3.setSeriesPaint(2, Color.blue);
    renderer3.setBaseSeriesVisibleInLegend(false);
    renderer3.setSeriesItemLabelsVisible(0, true);
    renderer3.setSeriesItemLabelsVisible(1, false);
    renderer3.setSeriesItemLabelsVisible(2, false);

    XYTextAnnotation annotation0 = new XYTextAnnotation("2.0 count", 12000.0, 15500.0);
    annotation0.setFont(new Font("SansSerif", Font.BOLD, 11));
    plot.addAnnotation(annotation0);
    XYTextAnnotation annotation1 = new XYTextAnnotation("count", 13000.0, 10000.0);
    annotation1.setFont(new Font("SansSerif", Font.BOLD, 11));
    plot.addAnnotation(annotation1);
    XYTextAnnotation annotation2 = new XYTextAnnotation("0.5 count", 11000.0, 3500.0);
    annotation2.setFont(new Font("SansSerif", Font.BOLD, 11));
    plot.addAnnotation(annotation2);

    plot.setDomainAxis(axis_x);
    plot.setRangeAxis(axis_y);
    plot.setRenderer(0, renderer);

    plot.setRenderer(1, renderer2);
    plot.setDataset(1, dataset_outliers);

    plot.setRenderer(2, renderer3);
    plot.setDataset(2, dataset1);

    plot.getRangeAxis().setRange(1.0, 19000.0);
    plot.getDomainAxis().setRange(1.0, 19000.0);

    return this.chart_;
}

From source file:IHM.compargraph.java

private XYDataset createDataset() {

    XYSeriesCollection dataset1 = new XYSeriesCollection();

    if (t1.size() < t2.size()) {
        if (c == "Temperature") {
            XYSeries s1 = new XYSeries("Temperature station 1");
            XYSeries s2 = new XYSeries("Temperature station 2");
            XYSeries s3 = new XYSeries("rsultante");
            for (int i = 0; i < t1.size(); i++) {
                if (t1.get(i).getJour().getJour() == 0) {
                    s1.add(Double.parseDouble("" + t1.get(i).getMois().getMois()),
                            Double.parseDouble(t1.get(i).getTemperature()));
                    s2.add(Double.parseDouble("" + t2.get(i).getMois().getMois()),
                            Double.parseDouble(t2.get(i).getTemperature()));
                    Double d = Double.parseDouble("" + t1.get(i).getMois().getMois());
                    if (d < 0)
                        d = -d;//  w ww . java 2 s .com
                    Double f = Double.parseDouble(t1.get(i).getTemperature())
                            - Double.parseDouble(t2.get(i).getTemperature());
                    if (f < 0)
                        f = -f;
                    s3.add(d, f);
                    XYSeriesCollection dataset = new XYSeriesCollection();
                    dataset.addSeries(s1);
                    dataset.addSeries(s2);
                    dataset.addSeries(s3);

                } else {
                    s1.add(Double.parseDouble("" + t1.get(i).getJour().getJour()),
                            Double.parseDouble(t1.get(i).getTemperature()));
                    s2.add(Double.parseDouble("" + t2.get(i).getJour().getJour()),
                            Double.parseDouble(t2.get(i).getTemperature()));
                    Double d = Double.parseDouble("" + t1.get(i).getJour().getJour());
                    if (d < 0)
                        d = -d;
                    Double f = Double.parseDouble(t1.get(i).getTemperature())
                            - Double.parseDouble(t2.get(i).getTemperature());
                    if (f < 0)
                        f = -f;
                    s3.add(d, f);
                    XYSeriesCollection dataset = new XYSeriesCollection();
                    dataset.addSeries(s1);
                    dataset.addSeries(s2);
                    dataset.addSeries(s3);

                    dataset1 = dataset;
                }
            }
        } else if (c == "Humidit") {
            XYSeries s1 = new XYSeries("Humidit station 1");
            XYSeries s2 = new XYSeries("Humidit station 2");
            XYSeries s3 = new XYSeries("rsultante");
            for (int i = 0; i < t1.size(); i++) {
                if (t1.get(i).getJour().getJour() == 0) {
                    s1.add(Double.parseDouble("" + t1.get(i).getMois().getMois()),
                            Double.parseDouble(t1.get(i).getHumidite()));
                    s2.add(Double.parseDouble("" + t2.get(i).getMois().getMois()),
                            Double.parseDouble(t2.get(i).getHumidite()));
                    Double d = Double.parseDouble("" + t1.get(i).getMois().getMois());
                    if (d < 0)
                        d = -d;
                    Double f = Double.parseDouble(t1.get(i).getHumidite())
                            - Double.parseDouble(t2.get(i).getHumidite());
                    if (f < 0)
                        f = -f;
                    s3.add(d, f);
                    XYSeriesCollection dataset = new XYSeriesCollection();
                    dataset.addSeries(s1);
                    dataset.addSeries(s2);
                    dataset.addSeries(s3);
                    dataset1 = dataset;
                } else {
                    s1.add(Double.parseDouble("" + t1.get(i).getJour().getJour()),
                            Double.parseDouble(t1.get(i).getHumidite()));
                    s2.add(Double.parseDouble("" + t2.get(i).getJour().getJour()),
                            Double.parseDouble(t2.get(i).getHumidite()));
                    Double d = Double.parseDouble("" + t1.get(i).getJour().getJour());
                    if (d < 0)
                        d = -d;
                    Double f = Double.parseDouble(t1.get(i).getHumidite())
                            - Double.parseDouble(t2.get(i).getHumidite());
                    if (f < 0)
                        f = -f;
                    s3.add(d, f);
                    XYSeriesCollection dataset = new XYSeriesCollection();
                    dataset.addSeries(s1);
                    dataset.addSeries(s2);
                    dataset.addSeries(s3);
                    dataset1 = dataset;
                }
            }
        }

        else if (c == "Nbulosit") {
            XYSeries s1 = new XYSeries("Nbulosit station 1");
            XYSeries s2 = new XYSeries("Nbulosit station 2");
            XYSeries s3 = new XYSeries("rsultante");
            for (int i = 0; i < t1.size(); i++) {
                if (t1.get(i).getJour().getJour() == 0) {
                    s1.add(Double.parseDouble("" + t1.get(i).getMois().getMois()),
                            Double.parseDouble(t1.get(i).getNebulosite()));
                    s2.add(Double.parseDouble("" + t2.get(i).getMois().getMois()),
                            Double.parseDouble(t2.get(i).getNebulosite()));
                    Double d = Double.parseDouble("" + t1.get(i).getMois().getMois());
                    if (d < 0)
                        d = -d;
                    Double f = Double.parseDouble(t1.get(i).getNebulosite())
                            - Double.parseDouble(t2.get(i).getNebulosite());
                    if (f < 0)
                        f = -f;
                    s3.add(d, f);
                    XYSeriesCollection dataset = new XYSeriesCollection();
                    dataset.addSeries(s1);
                    dataset.addSeries(s2);
                    dataset.addSeries(s3);
                    dataset1 = dataset;
                } else {
                    s1.add(Double.parseDouble("" + t1.get(i).getJour().getJour()),
                            Double.parseDouble(t1.get(i).getNebulosite()));
                    s2.add(Double.parseDouble("" + t2.get(i).getJour().getJour()),
                            Double.parseDouble(t2.get(i).getNebulosite()));
                    Double d = Double.parseDouble("" + t1.get(i).getJour().getJour());
                    if (d < 0)
                        d = -d;
                    Double f = Double.parseDouble(t1.get(i).getNebulosite())
                            - Double.parseDouble(t2.get(i).getNebulosite());
                    if (f < 0)
                        f = -f;
                    s3.add(d, f);
                    XYSeriesCollection dataset = new XYSeriesCollection();
                    dataset.addSeries(s1);
                    dataset.addSeries(s2);
                    dataset.addSeries(s3);
                    dataset1 = dataset;
                }
            }
        }
    }
    // XYSeries s3 = new XYSeries("Nebulosit");
    //  Controller c = new Controller();
    // Controller c2 = new Controller();
    // c.AfficherStationMoyenneTousLesJours();

    //***************** comparaison temperature 

    if (t2.size() <= t1.size()) {
        if (c == "Temperature") {
            XYSeries s1 = new XYSeries("Temperature station 1");
            XYSeries s2 = new XYSeries("Temperature tation 2");
            XYSeries s3 = new XYSeries("rsultante");
            for (int i = 0; i < t1.size(); i++) {
                if (t1.get(i).getJour().getJour() == 0) {
                    s1.add(Double.parseDouble("" + t1.get(i).getMois().getMois()),
                            Double.parseDouble(t1.get(i).getTemperature()));
                    s2.add(Double.parseDouble("" + t2.get(i).getMois().getMois()),
                            Double.parseDouble(t2.get(i).getTemperature()));
                    Double d = Double.parseDouble("" + t1.get(i).getMois().getMois());
                    if (d < 0)
                        d = -d;
                    Double f = Double.parseDouble(t1.get(i).getTemperature())
                            - Double.parseDouble(t2.get(i).getTemperature());
                    if (f < 0)
                        f = -f;
                    s3.add(d, f);
                    XYSeriesCollection dataset = new XYSeriesCollection();
                    dataset.addSeries(s1);
                    dataset.addSeries(s2);
                    dataset.addSeries(s3);

                } else {
                    s1.add(Double.parseDouble("" + t1.get(i).getJour().getJour()),
                            Double.parseDouble(t1.get(i).getTemperature()));
                    s2.add(Double.parseDouble("" + t2.get(i).getJour().getJour()),
                            Double.parseDouble(t2.get(i).getTemperature()));
                    Double d = Double.parseDouble("" + t1.get(i).getJour().getJour());
                    if (d < 0)
                        d = -d;
                    Double f = Double.parseDouble(t1.get(i).getTemperature())
                            - Double.parseDouble(t2.get(i).getTemperature());
                    if (f < 0)
                        f = -f;
                    s3.add(d, f);
                    XYSeriesCollection dataset = new XYSeriesCollection();
                    dataset.addSeries(s1);
                    dataset.addSeries(s2);
                    dataset.addSeries(s3);
                    dataset1 = dataset;

                }
            }
        } else if (c == "Humidit") {
            XYSeries s1 = new XYSeries("Humidit station 1");
            XYSeries s2 = new XYSeries("Humidit station 2");
            XYSeries s3 = new XYSeries("rsultante");
            for (int i = 0; i < t1.size(); i++) {
                if (t1.get(i).getJour().getJour() == 0) {
                    s1.add(Double.parseDouble("" + t1.get(i).getMois().getMois()),
                            Double.parseDouble(t1.get(i).getHumidite()));
                    s2.add(Double.parseDouble("" + t2.get(i).getMois().getMois()),
                            Double.parseDouble(t2.get(i).getHumidite()));
                    Double d = Double.parseDouble("" + t1.get(i).getMois().getMois());
                    if (d < 0)
                        d = -d;
                    Double f = Double.parseDouble(t1.get(i).getHumidite())
                            - Double.parseDouble(t2.get(i).getHumidite());
                    if (f < 0)
                        f = -f;
                    s3.add(d, f);
                    XYSeriesCollection dataset = new XYSeriesCollection();
                    dataset.addSeries(s1);
                    dataset.addSeries(s2);
                    dataset.addSeries(s3);
                    dataset1 = dataset;
                } else {
                    s1.add(Double.parseDouble("" + t1.get(i).getJour().getJour()),
                            Double.parseDouble(t1.get(i).getHumidite()));
                    s2.add(Double.parseDouble("" + t2.get(i).getJour().getJour()),
                            Double.parseDouble(t2.get(i).getHumidite()));
                    Double d = Double.parseDouble("" + t1.get(i).getJour().getJour());
                    if (d < 0)
                        d = -d;
                    Double f = Double.parseDouble(t1.get(i).getHumidite())
                            - Double.parseDouble(t2.get(i).getHumidite());
                    if (f < 0)
                        f = -f;
                    s3.add(d, f);
                    XYSeriesCollection dataset = new XYSeriesCollection();
                    dataset.addSeries(s1);
                    dataset.addSeries(s2);
                    dataset.addSeries(s3);
                    dataset1 = dataset;
                }
            }
        }

        else if (c == "Nbulosit") {
            XYSeries s1 = new XYSeries("Nbulosit station 1");
            XYSeries s2 = new XYSeries("Nbulosit station 2");
            XYSeries s3 = new XYSeries("rsultante");
            for (int i = 0; i < t1.size(); i++) {
                if (t1.get(i).getJour().getJour() == 0) {
                    s1.add(Double.parseDouble("" + t1.get(i).getMois().getMois()),
                            Double.parseDouble(t1.get(i).getNebulosite()));
                    s2.add(Double.parseDouble("" + t2.get(i).getMois().getMois()),
                            Double.parseDouble(t2.get(i).getNebulosite()));
                    Double d = Double.parseDouble("" + t1.get(i).getMois().getMois());
                    if (d < 0)
                        d = -d;
                    Double f = Double.parseDouble(t1.get(i).getNebulosite())
                            - Double.parseDouble(t2.get(i).getNebulosite());
                    if (f < 0)
                        f = -f;
                    s3.add(d, f);
                    XYSeriesCollection dataset = new XYSeriesCollection();
                    dataset.addSeries(s1);
                    dataset.addSeries(s2);
                    dataset.addSeries(s3);
                    dataset1 = dataset;
                } else {
                    s1.add(Double.parseDouble("" + t1.get(i).getJour().getJour()),
                            Double.parseDouble(t1.get(i).getNebulosite()));
                    s2.add(Double.parseDouble("" + t2.get(i).getJour().getJour()),
                            Double.parseDouble(t2.get(i).getNebulosite()));
                    Double d = Double.parseDouble("" + t1.get(i).getJour().getJour());
                    if (d < 0)
                        d = -d;
                    Double f = Double.parseDouble(t1.get(i).getNebulosite())
                            - Double.parseDouble(t2.get(i).getNebulosite());
                    if (f < 0)
                        f = -f;
                    s3.add(d, f);
                    XYSeriesCollection dataset = new XYSeriesCollection();
                    dataset.addSeries(s1);
                    dataset.addSeries(s2);
                    dataset.addSeries(s3);
                    dataset1 = dataset;
                }
            }
        }
    }

    /*for (ReleveMeteo i : t1.getStationRecherchee())
     {
    System.out.println(i.getTemperature());   
       if(i.getJour().getJour() == 0){
      s1.add(Double.parseDouble(""+i.getMois().getMois()), Double.parseDouble(i.getTemperature()));
     // s2.add(Double.parseDouble(""+i.getMois().getMois()), Double.parseDouble(i.getHumidite()));
      //s3.add(Double.parseDouble(""+i.getMois().getMois()), Double.parseDouble(i.getNebulosite()));
       }
       else{
      s1.add(Double.parseDouble(""+i.getJour().getJour()), Double.parseDouble(i.getTemperature()));
      //s2.add(Double.parseDouble(""+i.getJour().getJour()), Double.parseDouble(i.getHumidite()));
      //s3.add(Double.parseDouble(""+i.getJour().getJour()), Double.parseDouble(i.getNebulosite()));
       }
               
     }  
             
      for (ReleveMeteo i : t2.getStationRecherchee())
     {
    System.out.println(i.getTemperature());   
       if(i.getJour().getJour() == 0){
      s2.add(Double.parseDouble(""+i.getMois().getMois()), Double.parseDouble(i.getTemperature()));
     // s2.add(Double.parseDouble(""+i.getMois().getMois()), Double.parseDouble(i.getHumidite()));
      //s3.add(Double.parseDouble(""+i.getMois().getMois()), Double.parseDouble(i.getNebulosite()));
       }
       else{
      s2.add(Double.parseDouble(""+i.getJour().getJour()), Double.parseDouble(i.getTemperature()));
      //s2.add(Double.parseDouble(""+i.getJour().getJour()), Double.parseDouble(i.getHumidite()));
      //s3.add(Double.parseDouble(""+i.getJour().getJour()), Double.parseDouble(i.getNebulosite()));
       }
               
     }  
     */

    return dataset1;
    //  dataset.addSeries(s3);
}