List of usage examples for org.jfree.data.xy XYSeriesCollection addSeries
public void addSeries(XYSeries series)
From source file:LineChartDemo6.java
/** * Creates a sample dataset.// w ww . j a va 2 s . co m * * @return a sample dataset. */ private XYDataset createDataset() { final XYSeries series1 = new XYSeries("First"); series1.add(1.0, 1.0); series1.add(2.0, 4.0); series1.add(3.0, 3.0); series1.add(4.0, 5.0); series1.add(5.0, 5.0); series1.add(6.0, 7.0); series1.add(7.0, 7.0); series1.add(8.0, 8.0); final XYSeries series2 = new XYSeries("Second"); series2.add(1.0, 5.0); series2.add(2.0, 7.0); series2.add(3.0, 6.0); series2.add(4.0, 8.0); series2.add(5.0, 4.0); series2.add(6.0, 4.0); series2.add(7.0, 2.0); series2.add(8.0, 1.0); final XYSeries series3 = new XYSeries("Third"); series3.add(3.0, 4.0); series3.add(4.0, 3.0); series3.add(5.0, 2.0); series3.add(6.0, 3.0); series3.add(7.0, 6.0); series3.add(8.0, 3.0); series3.add(9.0, 4.0); series3.add(10.0, 3.0); final XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series1); dataset.addSeries(series2); dataset.addSeries(series3); return dataset; }
From source file:de.fhffm.jad.demo.view.LineChartPanel.java
/** * Creates a sample dataset./*w w w .j ava 2 s . c o m*/ * * @return a sample dataset. */ private XYDataset createDataset() { series1 = new XYSeries("IP.Src Entrophy"); series1.add(1.0, 0); series1.add(2.0, 0); series1.add(3.0, 0); series1.add(4.0, 0); series1.add(5.0, 0); series1.add(6.0, 0); series1.add(7.0, 0); series1.add(8.0, 0); series2 = new XYSeries("TCP.Dst.Port Entrophy"); series2.add(1.0, 1); series2.add(2.0, 1); series2.add(3.0, 1); series2.add(4.0, 1); series2.add(5.0, 1); series2.add(6.0, 1); series2.add(7.0, 1); series2.add(8.0, 1); final XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series1); dataset.addSeries(series2); return dataset; }
From source file:net.relet.freimap.NodeInfo.java
public void setLinkCountProfile(LinkedList<LinkCount> lcp) { if (lcp.size() == 0) { minLinks = 0;/* w w w . jav a2 s . c o m*/ maxLinks = 0; return; } XYSeries data = new XYSeries("links"); XYSeries avail = new XYSeries("avail"); XYSeriesCollection datac = new XYSeriesCollection(data); datac.addSeries(avail); linkCountChart = ChartFactory.createXYLineChart("average incoming link count\r\nincoming link availability", "time", "count", datac, PlotOrientation.VERTICAL, false, false, false); sexupLayout(linkCountChart); long first = lcp.getFirst().time, last = lcp.getLast().time, lastClock = first, count = 0, maxCount = 0; long aggregate = (last - first) / CHART_WIDTH; double sum = 0; /* ok, this ain't effective, we do it just to pre-calculate maxCount */ ListIterator<LinkCount> li = lcp.listIterator(); while (li.hasNext()) { LinkCount lc = li.next(); count++; if (lc.time - lastClock > aggregate) { if (maxCount < count) maxCount = count; lastClock = lc.time; count = 0; } } //reset for second iteration count = 0; lastClock = first; //iterate again li = lcp.listIterator(); while (li.hasNext()) { LinkCount lc = li.next(); if (minLinks > lc.count) minLinks = lc.count; if (maxLinks < lc.count) maxLinks = lc.count; sum += lc.count; count++; if (aggregate == 0) aggregate = 1000;//dirty hack if (lc.time - lastClock > aggregate) { for (long i = lastClock; i < lc.time - aggregate; i += aggregate) { data.add(i * 1000, (i == lastClock) ? sum / count : Double.NaN); avail.add(i * 1000, (i == lastClock) ? ((double) count / maxCount) : 0); } count = 0; sum = 0; lastClock = lc.time; } } status = STATUS_AVAILABLE; }
From source file:chart.XYChart.java
private XYDataset createDataset(double[] xData, double[] YDataAnalitic, double[] YDataNumerical) { final XYSeries analytical = new XYSeries("Analytical"); final XYSeries numerical = new XYSeries("Numerical"); for (int i = 0; i < xData.length; i++) { analytical.add(xData[i], (Number) YDataAnalitic[i]); numerical.add(xData[i], (Number) YDataNumerical[i]); }/*from w w w . j a va2s. co m*/ final XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(analytical); dataset.addSeries(numerical); // dataset.addSeries( iexplorer ); return dataset; }
From source file:org.optaplanner.benchmark.impl.statistic.movecountperstep.MoveCountPerStepProblemStatistic.java
@Override public void writeGraphFiles(BenchmarkReport benchmarkReport) { Locale locale = benchmarkReport.getLocale(); NumberAxis xAxis = new NumberAxis("Time spent"); xAxis.setNumberFormatOverride(new MillisecondsSpentNumberFormat(locale)); NumberAxis yAxis = new NumberAxis("Accepted/selected moves per step"); yAxis.setNumberFormatOverride(NumberFormat.getInstance(locale)); XYPlot plot = new XYPlot(null, xAxis, yAxis, null); DrawingSupplier drawingSupplier = new DefaultDrawingSupplier(); plot.setOrientation(PlotOrientation.VERTICAL); int seriesIndex = 0; for (SingleBenchmarkResult singleBenchmarkResult : problemBenchmarkResult.getSingleBenchmarkResultList()) { XYSeries acceptedSeries = new XYSeries( singleBenchmarkResult.getSolverBenchmarkResult().getNameWithFavoriteSuffix() + " accepted"); XYSeries selectedSeries = new XYSeries( singleBenchmarkResult.getSolverBenchmarkResult().getNameWithFavoriteSuffix() + " selected"); XYItemRenderer renderer = new XYLineAndShapeRenderer(true, false); if (singleBenchmarkResult.isSuccess()) { MoveCountPerStepSingleStatistic singleStatistic = (MoveCountPerStepSingleStatistic) singleBenchmarkResult .getSingleStatistic(problemStatisticType); for (MoveCountPerStepStatisticPoint point : singleStatistic.getPointList()) { long timeMillisSpent = point.getTimeMillisSpent(); long acceptedMoveCount = point.getMoveCountPerStepMeasurement().getAcceptedMoveCount(); long selectedMoveCount = point.getMoveCountPerStepMeasurement().getSelectedMoveCount(); acceptedSeries.add(timeMillisSpent, acceptedMoveCount); selectedSeries.add(timeMillisSpent, selectedMoveCount); }/* w w w .ja v a 2s .c o m*/ } XYSeriesCollection seriesCollection = new XYSeriesCollection(); seriesCollection.addSeries(acceptedSeries); seriesCollection.addSeries(selectedSeries); plot.setDataset(seriesIndex, seriesCollection); if (singleBenchmarkResult.getSolverBenchmarkResult().isFavorite()) { // Make the favorite more obvious renderer.setSeriesStroke(0, new BasicStroke(2.0f)); // Dashed line for selected move count renderer.setSeriesStroke(1, new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 1.0f, new float[] { 2.0f, 6.0f }, 0.0f)); } else { // Dashed line for selected move count renderer.setSeriesStroke(1, new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 1.0f, new float[] { 2.0f, 6.0f }, 0.0f)); } // Render both lines in the same color Paint linePaint = drawingSupplier.getNextPaint(); renderer.setSeriesPaint(0, linePaint); renderer.setSeriesPaint(1, linePaint); plot.setRenderer(seriesIndex, renderer); seriesIndex++; } JFreeChart chart = new JFreeChart(problemBenchmarkResult.getName() + " move count per step statistic", JFreeChart.DEFAULT_TITLE_FONT, plot, true); graphFile = writeChartToImageFile(chart, problemBenchmarkResult.getName() + "MoveCountPerStepStatistic"); }
From source file:edu.ucla.stat.SOCR.chart.demo.XYAreaChartDemo1.java
protected XYDataset createDataset(boolean isDemo) { if (isDemo) { XYSeries series1 = new XYSeries("Random 1"); series1.add(new Integer(1), new Double(500.2)); series1.add(new Integer(2), new Double(694.1)); series1.add(new Integer(3), new Double(-734.4)); series1.add(new Integer(4), new Double(453.2)); series1.add(new Integer(5), new Double(500.2)); series1.add(new Integer(6), new Double(300.7)); series1.add(new Integer(7), new Double(734.4)); series1.add(new Integer(8), new Double(453.2)); XYSeries series2 = new XYSeries("Random 2"); series2.add(new Integer(1), new Double(700.2)); series2.add(new Integer(2), new Double(534.1)); series2.add(new Integer(3), new Double(323.4)); series2.add(new Integer(4), new Double(125.2)); series2.add(new Integer(5), new Double(653.2)); series2.add(new Integer(6), new Double(432.7)); series2.add(new Integer(7), new Double(564.4)); series2.add(new Integer(8), new Double(322.2)); XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series1); dataset.addSeries(series2);//from www.j a v a 2 s . c o m dataset.setIntervalWidth(0.0); return dataset; } else return super.createDataset(false); }
From source file:wm.edu.cs420.Data.ChartBuilder.java
/** * Creates a sample dataset./*from w ww . ja v a 2 s . c o m*/ * * @return a sample dataset. */ public XYDataset createTestDataset() { final XYSeries series1 = new XYSeries(""); series1.add(1.0, 1.0); series1.add(2.0, 4.0); series1.add(3.0, 3.0); series1.add(4.0, 5.0); series1.add(5.0, 5.0); series1.add(6.0, 7.0); series1.add(7.0, 7.0); series1.add(8.0, 8.0); final XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series1); return dataset; }
From source file:org.fhcrc.cpl.viewer.commandline.modules.MassAccuracyCommandLineModule.java
/** * do the actual work//w w w. jav a2s . c o m */ public void execute() throws CommandLineModuleExecutionException { int NUM_TICKS = 50; float[][] plotData = new float[3][NUM_TICKS]; deltaMassType = FeatureSetMatcher.DELTA_MASS_TYPE_ABSOLUTE; //This block is for plotting curves of mass accuracy over changes in parameters for (int i = 0; i < NUM_TICKS; i++) { deltaMass = (float) .04 * i; ClusteringFeatureSetMatcher featureSetMatcher = new ClusteringFeatureSetMatcher(); featureSetMatcher.init(deltaMass, deltaMassType, (float) deltaHydrophobicity); FeatureSetMatcher.FeatureMatchingResult featureMatchingResult = featureSetMatcher .matchFeatures(ms1Features, ms2Features); double[] massDiffRatios = new double[featureMatchingResult.size()]; int j = 0; for (Feature ms1Feature : featureMatchingResult.getMasterSetFeatures()) { Feature ms2Feature = featureMatchingResult.getBestMatch(ms1Feature); massDiffRatios[j++] = 1000000 * ((Math.abs(ms1Feature.getMass() - ms2Feature.getMass())) / ms2Feature.getMass()); } plotData[0][i] = deltaMass; plotData[1][i] = (float) BasicStatistics.median(massDiffRatios); plotData[2][i] = (float) BasicStatistics.mean(massDiffRatios); } XYSeries xySeries = new XYSeries("median"); XYSeries xySeries1 = new XYSeries("mean"); for (int i = 0; i < plotData[0].length; i++) { xySeries.add(plotData[0][i], plotData[1][i]); xySeries1.add(plotData[0][i], plotData[2][i]); } XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(xySeries); dataset.addSeries(xySeries1); XYPlot plot = new XYPlot(dataset, new NumberAxis(), new NumberAxis(), new XYLineAndShapeRenderer()); ChartDialog cd0 = new ChartDialog(plot); cd0.setTitle("Mean and median deviation, for various mass match tolerances"); cd0.setVisible(true); }
From source file:com.griddynamics.jagger.engine.e1.reporting.MetricPlotsReporter.java
public Map<String, MetricPlotDTOs> createTaskPlots() { String sessionId = getSessionIdProvider().getSessionId(); List<MetricDetails> metricDetails = getHibernateTemplate() .find("select m from MetricDetails m where m.taskData.sessionId=?", sessionId); Map<String, Map<String, List<MetricDetails>>> aggregatedByTasks = Maps.newLinkedHashMap(); for (MetricDetails detail : metricDetails) { Map<String, List<MetricDetails>> byTaskId = aggregatedByTasks.get(detail.getTaskData().getTaskId()); if (byTaskId == null) { byTaskId = Maps.newLinkedHashMap(); aggregatedByTasks.put(detail.getTaskData().getTaskId(), byTaskId); }/*from w w w . j a v a 2 s . co m*/ List<MetricDetails> taskData = byTaskId.get(detail.getMetric()); if (taskData == null) { taskData = new LinkedList<MetricDetails>(); byTaskId.put(detail.getMetric(), taskData); } taskData.add(detail); } Map<String, MetricPlotDTOs> taskPlots = Maps.newHashMap(); for (String taskId : aggregatedByTasks.keySet()) { MetricPlotDTOs taskPlot = taskPlots.get(taskId); if (taskPlot == null) { taskPlot = new MetricPlotDTOs(); taskPlots.put(taskId, taskPlot); } for (String metricName : aggregatedByTasks.get(taskId).keySet()) { List<MetricDetails> taskStats = aggregatedByTasks.get(taskId).get(metricName); XYSeries plotEntry = new XYSeries(metricName); for (MetricDetails stat : taskStats) { plotEntry.add(stat.getTime(), stat.getValue()); } XYSeriesCollection plotCollection = new XYSeriesCollection(); plotCollection.addSeries(plotEntry); Pair<String, XYSeriesCollection> pair = ChartHelper.adjustTime(plotCollection, null); plotCollection = pair.getSecond(); JFreeChart chartMetric = ChartHelper.createXYChart(null, plotCollection, "Time (" + pair.getFirst() + ")", metricName, 2, 2, ChartHelper.ColorTheme.LIGHT); taskPlot.addPlot(new MetricPlotDTO(metricName, new JCommonDrawableRenderer(chartMetric))); } } return taskPlots; }
From source file:chart.XYChart.java
private XYDataset createDatasetForThree(double[] xData, double[] YDataAnalitic, double[] YDataNumerical1, double[] YDataNumerical2) { final XYSeries analytical = new XYSeries("Analytical"); final XYSeries numerical = new XYSeries("Numerical"); final XYSeries numericalApp = new XYSeries("Numerical with approximation"); for (int i = 0; i < xData.length; i++) { analytical.add(xData[i], (Number) YDataAnalitic[i]); numerical.add(xData[i], (Number) YDataNumerical1[i]); numericalApp.add(xData[i], (Number) YDataNumerical2[i]); }//from www .j a v a2s . c o m final XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(analytical); dataset.addSeries(numerical); dataset.addSeries(numericalApp); // dataset.addSeries( iexplorer ); return dataset; }