List of usage examples for org.jfree.data.xy XYSeries add
public void add(XYDataItem item, boolean notify)
From source file:ca.nengo.plot.impl.DefaultPlotter.java
private static XYSeriesCollection getDataset(SpikePattern pattern) { XYSeriesCollection dataset = new XYSeriesCollection(); for (int i = 0; i < pattern.getNumNeurons(); i++) { XYSeries series = new XYSeries("Neuron " + i); float[] spikes = pattern.getSpikeTimes(i); for (int j = 0; j < spikes.length; j++) { series.add(spikes[j], i); }//from w w w .j a v a 2 s. c o m dataset.addSeries(series); } return dataset; }
From source file:osh.comdriver.simulation.cruisecontrol.ScheduleDrawer.java
/** * Creates a dataset, consisting of two series of monthly data. * * @return The dataset.// w w w . j a va 2s. co m */ private static XYDataset[] createDataset(List<Schedule> schedules, HashMap<VirtualCommodity, PriceSignal> ps, HashMap<VirtualCommodity, PowerLimitSignal> pls, long currentTime) { XYSeriesCollection dataset1 = new XYSeriesCollection(); //power axis if (pls != null) { for (Entry<VirtualCommodity, PowerLimitSignal> e : pls.entrySet()) { long time = (long) ((currentTime / 86400.0) * 86400); PowerLimitSignal currentPls = e.getValue(); XYSeries upperLimit = new XYSeries(e.getKey().getCommodity() + "_upper_limit"); XYSeries lowerLimit = new XYSeries(e.getKey().getCommodity() + "_lower_limit"); while (currentPls != null && currentPls.getNextPowerLimitChange(time) != null) { upperLimit.add(time * 1000, currentPls.getPowerUpperLimit(time)); lowerLimit.add(time * 1000, currentPls.getPowerLowerLimit(time)); time = currentPls.getNextPowerLimitChange(time); upperLimit.add((time - 1) * 1000, currentPls.getPowerUpperLimit(time - 1)); lowerLimit.add((time - 1) * 1000, currentPls.getPowerLowerLimit(time - 1)); } dataset1.addSeries(upperLimit); dataset1.addSeries(lowerLimit); } } XYSeriesCollection dataset2 = new XYSeriesCollection(); //costs axis if (ps != null) { for (Entry<VirtualCommodity, PriceSignal> e : ps.entrySet()) { long time = (long) ((currentTime / 86400.0) * 86400); PriceSignal currentPs = e.getValue(); XYSeries currentxySeries = new XYSeries(e.getKey().getCommodity() + "_price"); while (currentPs != null && currentPs.getNextPriceChange(time) != null) { currentxySeries.add(time * 1000, currentPs.getPrice(time)); time = currentPs.getNextPriceChange(time); currentxySeries.add((time - 1) * 1000, currentPs.getPrice(time - 1)); } dataset2.addSeries(currentxySeries); } } XYSeriesCollection dataset3 = new XYSeriesCollection(); if (schedules != null) { int cntr = 1; SparseLoadProfile powerSum = new SparseLoadProfile(); if (schedules != null) { for (Schedule i : schedules) { XYSeries[] powerProfile = (XYSeries[]) renderSeries(i.getProfile(), Integer.toString(cntr++), currentTime); for (int j = 0; j < powerProfile.length; j++) { dataset3.addSeries(powerProfile[j]); } powerSum = (SparseLoadProfile) powerSum.merge(i.getProfile(), 0); } } XYSeries[] powerProfileSum = (XYSeries[]) renderSeries(powerSum, "sum", currentTime); for (int j = 0; j < powerProfileSum.length; j++) { dataset3.addSeries(powerProfileSum[j]); } } return new XYDataset[] { dataset1, dataset2, dataset3 }; }
From source file:de.hs.mannheim.modUro.controller.diagram.ModeltypeDiagramController.java
/** * Creates Dataset.//from w w w . j a va 2s.com * * @return */ private static XYDataset createDataset(List<Simulation> simulationList, String selectedItem) { XYSeriesCollection dataset = new XYSeriesCollection(); for (Simulation simualtionItem : simulationList) { XYSeries xySerie = new XYSeries(simualtionItem.getSimulationName()); for (StatisticValues metricTypeItem : simualtionItem.getMetricTypes()) { if (metricTypeItem.getName().equals(selectedItem)) { double x; double y; double[][] fitnessArray = ((MetricType) metricTypeItem).getMetricData(); for (int i = 0; i < fitnessArray.length; i++) { x = fitnessArray[i][0]; y = fitnessArray[i][1]; xySerie.add(x, y); } } } dataset.addSeries(xySerie); } return dataset; }
From source file:edu.fullerton.viewerplugin.PluginSupport.java
public static int scaleRange(XYSeriesCollection mtds, Double miny, Double maxy) { int exp = PluginSupport.getExp(miny, maxy); if (exp > 0 && exp < 100) { int nseries = mtds.getSeriesCount(); XYSeries[] newSeries = new XYSeries[nseries]; double scale = Math.pow(10, exp); for (int s = 0; s < nseries; s++) { XYSeries ds = (XYSeries) mtds.getSeries(s); Comparable skey = mtds.getSeriesKey(s); XYSeries nds = new XYSeries(skey, true); for (int item = 0; item < ds.getItemCount(); item++) { double x = ds.getX(item).doubleValue(); double y = ds.getY(item).doubleValue(); y *= scale;//from w w w . j a va 2s. c o m nds.add(x, y); } newSeries[s] = nds; } mtds.removeAllSeries(); for (int s = 0; s < nseries; s++) { mtds.addSeries(newSeries[s]); } } else { exp = 0; } return exp; }
From source file:org.efs.openreports.engine.ChartReportEngine.java
private static XYDataset createXYDataset(ChartValue[] values) { XYSeries series = null; XYSeriesCollection seriesCollection = new XYSeriesCollection(); for (int i = 0; i < values.length; i++) { XYChartValue value = (XYChartValue) values[i]; if (series == null || !series.getKey().equals(value.getSeries())) { if (series != null) { seriesCollection.addSeries(series); }// w ww . j a v a2 s.c o m series = new XYSeries(value.getSeries()); } series.add(value.getValue(), value.getSecondValue()); } seriesCollection.addSeries(series); return seriesCollection; }
From source file:cn.InstFS.wkr.NetworkMining.UIs.TimeSeriesChart1.java
public static XYDataset createNormalDataset(DataItems normal, String protocol1) { // ???/*from w w w . jav a2 s .c om*/ int length = normal.getLength(); int time[] = new int[length]; XYSeries xyseries = new XYSeries(protocol1); XYSeriesCollection xyseriescollection = new XYSeriesCollection(); // ?? for (int i = 0; i < length; i++) { DataItem temp = new DataItem(); temp = normal.getElementAt(i); //System.out.println("DataItem.time=" + temp.getTime().getTime()); xyseries.add(i, Double.parseDouble(temp.getData())); // } xyseriescollection.addSeries(xyseries); return xyseriescollection; }
From source file:org.matsim.contrib.drt.analysis.DynModeTripsAnalyser.java
public static void analyseDetours(Network network, List<DynModeTrip> trips, DrtConfigGroup drtCfg, String fileName) {/* w w w . j a v a 2s.c o m*/ if (trips == null) return; List<String> detours = new ArrayList<String>(); XYSeries distances = new XYSeries("distances"); XYSeries travelTimes = new XYSeries("travel times"); XYSeries rideTimes = new XYSeries("ride times"); for (DynModeTrip trip : trips) { if (trip.getToLinkId() == null) { continue; // unfinished trip (simulation stopped before arrival) } double travelTime = trip.getInVehicleTravelTime() + trip.getWaitTime(); distances.add(trip.getTravelDistance(), trip.getUnsharedDistanceEstimate_m()); travelTimes.add(travelTime, trip.getUnsharedTimeEstimate_m()); rideTimes.add(trip.getInVehicleTravelTime(), trip.getUnsharedTimeEstimate_m()); double distanceDetour = trip.getTravelDistance() / trip.getUnsharedDistanceEstimate_m(); double timeDetour = travelTime / trip.getUnsharedTimeEstimate_m(); detours.add(trip.getPerson() + ";" + trip.getTravelDistance() + ";" + trip.getUnsharedDistanceEstimate_m() + ";" + distanceDetour + ";" + travelTime + ";" + trip.getUnsharedTimeEstimate_m() + ";" + timeDetour); } collection2Text(detours, fileName + ".csv", "person;distance;unsharedDistance;distanceDetour;time;unsharedTime;timeDetour"); final JFreeChart chart = DensityScatterPlots.createPlot("Travelled Distances", "travelled distance [m]", "unshared ride distance [m]", distances); ChartSaveUtils.saveAsPNG(chart, fileName + "_distancePlot", 1500, 1500); final JFreeChart chart2 = DensityScatterPlots.createPlot("Travel Times", "travel time [s]", "unshared ride time [s]", travelTimes, Pair.of(drtCfg.getMaxTravelTimeAlpha(), drtCfg.getMaxTravelTimeBeta())); ChartSaveUtils.saveAsPNG(chart2, fileName + "_travelTimePlot", 1500, 1500); final JFreeChart chart3 = DensityScatterPlots.createPlot("Ride Times", "ride time [s]", "unshared ride time [s]", rideTimes, Pair.of(drtCfg.getMaxTravelTimeAlpha(), drtCfg.getMaxTravelTimeBeta())); ChartSaveUtils.saveAsPNG(chart3, fileName + "_rideTimePlot", 1500, 1500); }
From source file:net.sf.mzmine.chartbasics.HistogramChartFactory.java
private static void addDPToSeries(XYSeries series, int[] bins, int i, double binwidth, double min, double max, DoubleFunction<Double> function) { // adds a data point to the series double x = min + (binwidth / 2.0) + i * binwidth; if (function != null) x = function.apply(x);/*from w w w. j av a2 s . co m*/ series.add(x, bins[i]); }
From source file:dbseer.gui.chart.DBSeerChartFactory.java
public static XYSeriesCollection getCustomXYSeriesCollection(String xAxisName, String yAxisName) throws Exception { StatisticalPackageRunner runner = DBSeerGUI.runner; runner.eval("[Xdata Ydata] = plotter.plotCustom('" + DBSeerPlotControlPanel.axisMap.get(xAxisName) + "', '" + DBSeerPlotControlPanel.axisMap.get(yAxisName) + "');"); Object[] xCellArray = (Object[]) runner.getVariableCell("Xdata"); Object[] yCellArray = (Object[]) runner.getVariableCell("Ydata"); XYSeriesCollection dataSet = new XYSeriesCollection(); int numXCellArray = xCellArray.length; int numYCellArray = yCellArray.length; if (numXCellArray != numYCellArray) { JOptionPane.showMessageDialog(null, "The number of X dataset and Y dataset does not match.", "The number of X dataset and Y dataset does not match.", JOptionPane.ERROR_MESSAGE); System.out.println(numXCellArray + " : " + numYCellArray); return null; }//from w w w . j av a2s. c o m for (int i = 0; i < numYCellArray; ++i) { double[] xArray = (double[]) xCellArray[i]; runner.eval("yArraySize = size(Ydata{" + (i + 1) + "});"); runner.eval("yArray = Ydata{" + (i + 1) + "};"); double[] yArraySize = runner.getVariableDouble("yArraySize"); double[] yArray = runner.getVariableDouble("yArray"); int xLength = xArray.length; int row = (int) yArraySize[0]; int col = (int) yArraySize[1]; for (int c = 0; c < col; ++c) { XYSeries series = new XYSeries(yAxisName); for (int r = 0; r < row; ++r) { int xRow = (r >= xLength) ? xLength - 1 : r; series.add(xArray[xRow], yArray[r + c * row]); } dataSet.addSeries(series); } } return dataSet; }
From source file:eu.cassandra.utils.Utils.java
/** * This function is used for the visualization of a Line Diagram. * //from w w w. j a va2s .c o m * @param title * The title of the chart. * @param x * The unit on the X axis of the chart. * @param y * The unit on the Y axis of the chart. * @param data * The array of values. * @return a chart panel with the graphical representation. */ public static void createLineDiagram(String title, String x, String y, ArrayList<Double> data) { XYSeries series1 = new XYSeries("Active Power"); for (int i = 0; i < data.size(); i++) { series1.add(i, data.get(i)); } XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series1); PlotOrientation orientation = PlotOrientation.VERTICAL; boolean show = true; boolean toolTips = false; boolean urls = false; JFreeChart chart = ChartFactory.createXYLineChart(title, x, y, dataset, orientation, show, toolTips, urls); int width = 1024; int height = 768; try { ChartUtilities.saveChartAsPNG(new File(Constants.chartFolder + title + ".PNG"), chart, width, height); } catch (IOException e) { } }