List of usage examples for org.jfree.data.xy XYSeries XYSeries
public XYSeries(Comparable key)
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); }