List of usage examples for org.jfree.data.xy YIntervalSeriesCollection YIntervalSeriesCollection
public YIntervalSeriesCollection()
YIntervalSeriesCollection
. From source file:org.peerfact.impl.service.aggregation.skyeye.visualization.MetricsPlot.java
private void updateChartPanel(String plotTitle) { XYPlot plot = (XYPlot) chart.getPlot(); YIntervalSeriesCollection dataset = new YIntervalSeriesCollection();// (YIntervalSeriesCollection) // plot.getDataset() String[] names = displayedSeries.keySet().toArray(new String[displayedSeries.keySet().size()]); Arrays.sort(names, null);/*from w w w . j a va 2 s . com*/ if (!autoScrolling && displayedSeries.get(names[0]).getDataSeries().getItemCount() == displayedSeries .get(names[0]).getDataSeries().getMaximumItemCount()) { autoScrolling = true; DateAxis domain = (DateAxis) plot.getDomainAxis(); domain.setAutoRange(true); plot.setDomainAxis(domain); } for (int i = 0; i < names.length; i++) { if (names[i].startsWith("Min_")) { if (showMin) { dataset.addSeries(displayedSeries.get(names[i]).getDataSeries()); } } else if (names[i].startsWith("Max_")) { if (showMax) { dataset.addSeries(displayedSeries.get(names[i]).getDataSeries()); } } else { dataset.addSeries(displayedSeries.get(names[i]).getDataSeries()); } } plot.setDataset(dataset); plot.setRenderer(configureRendererForDataSet(plot.getRenderer(), dataset)); plotPanel.setChart(chart); setSizeOfComponent(plotPanel, new Dimension(plotWidth, plotHeight)); container.add(plotPanel, BorderLayout.CENTER); setSizeOfComponent(container, new Dimension(plotWidth, plotHeight + boxOffset)); }
From source file:org.fhaes.fhsamplesize.view.SSIZCurveChart.java
/** * Create the events per century dataset. Requires analysisResults array, which middle metric to chart, and which segment. * //from w w w . j av a 2s . com * @param analysisResults * @param metricToChart * @param segment * @return */ private static XYDataset createEventsPerCenturyDataset(AnalysisResultsModel[] analysisResults, MiddleMetric metricToChart, SegmentModel segment) { if (analysisResults == null || analysisResults.length == 0) { log.debug("No analysis results to draw"); return null; } YIntervalSeries yintervalseries = new YIntervalSeries("Series"); for (int i = 0; i < analysisResults.length; i++) { if (!analysisResults[i].getSegment().equals(segment)) continue; if (metricToChart.equals(MiddleMetric.MEAN)) { yintervalseries.add(analysisResults[i].getNumberOfSamples(), analysisResults[i].getMean(), analysisResults[i].getMean() - analysisResults[i].getConfidenceInterval95(), analysisResults[i].getMean() + analysisResults[i].getConfidenceInterval95()); } else if (metricToChart.equals(MiddleMetric.MEDIAN)) { yintervalseries.add(analysisResults[i].getNumberOfSamples(), analysisResults[i].getMedian(), analysisResults[i].getMean() - analysisResults[i].getConfidenceInterval95(), analysisResults[i].getMean() + analysisResults[i].getConfidenceInterval95()); } else if (metricToChart.equals(MiddleMetric.WEIBULL_MEAN)) { yintervalseries.add(analysisResults[i].getNumberOfSamples(), analysisResults[i].getWeibullMean(), analysisResults[i].getWeibullConfidenceInterval95Lower(), analysisResults[i].getWeibullConfidenceInterval95Upper()); } else if (metricToChart.equals(MiddleMetric.WEIBULL_MEDIAN)) { yintervalseries.add(analysisResults[i].getNumberOfSamples(), analysisResults[i].getWeibullMedian(), analysisResults[i].getWeibullConfidenceInterval95Lower(), analysisResults[i].getWeibullConfidenceInterval95Upper()); } else { log.error("Chart does not supported the specified middle metric type"); } } YIntervalSeriesCollection yintervalseriescollection = new YIntervalSeriesCollection(); yintervalseriescollection.addSeries(yintervalseries); return yintervalseriescollection; }
From source file:iDynoOptimizer.MOEAFramework26.src.org.moeaframework.analysis.diagnostics.LinePlot.java
@Override protected void update() { XYDataset dataset = null;/*from w w w . j a v a 2 s . co m*/ //generate the plot data if (controller.getShowIndividualTraces()) { dataset = new DefaultTableXYDataset(); for (ResultKey key : frame.getSelectedResults()) { generateIndividualSeries(key, (DefaultTableXYDataset) dataset); } } else { dataset = new YIntervalSeriesCollection(); for (ResultKey key : frame.getSelectedResults()) { generateQuantileSeries(key, (YIntervalSeriesCollection) dataset); } } //create the chart JFreeChart chart = ChartFactory.createXYLineChart(metric, localization.getString("text.NFE"), localization.getString("text.value"), dataset, PlotOrientation.VERTICAL, false, true, false); final XYPlot plot = chart.getXYPlot(); //setup the series renderer if (controller.getShowIndividualTraces()) { XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(true, false); for (int i = 0; i < dataset.getSeriesCount(); i++) { Paint paint = frame.getPaintHelper().get(dataset.getSeriesKey(i)); renderer.setSeriesStroke(i, new BasicStroke(1f, 1, 1)); renderer.setSeriesPaint(i, paint); } plot.setRenderer(renderer); } else { DeviationRenderer renderer = new DeviationRenderer(true, false); for (int i = 0; i < dataset.getSeriesCount(); i++) { Paint paint = frame.getPaintHelper().get(dataset.getSeriesKey(i)); renderer.setSeriesStroke(i, new BasicStroke(3f, 1, 1)); renderer.setSeriesPaint(i, paint); renderer.setSeriesFillPaint(i, paint); } plot.setRenderer(renderer); } //create the legend final LegendItemCollection items = plot.getLegendItems(); Iterator<?> iterator = items.iterator(); Set<ResultKey> uniqueKeys = new HashSet<ResultKey>(); while (iterator.hasNext()) { LegendItem item = (LegendItem) iterator.next(); if (uniqueKeys.contains(item.getSeriesKey())) { iterator.remove(); } else { uniqueKeys.add((ResultKey) item.getSeriesKey()); } } LegendItemSource source = new LegendItemSource() { @Override public LegendItemCollection getLegendItems() { return items; } }; LegendTitle legend = new LegendTitle(source); legend.setMargin(new RectangleInsets(1.0, 1.0, 1.0, 1.0)); legend.setFrame(new LineBorder()); legend.setBackgroundPaint(Color.WHITE); legend.setPosition(RectangleEdge.BOTTOM); chart.addLegend(legend); //scale the axes final NumberAxis domainAxis = new NumberAxis(); domainAxis.setAutoRange(true); plot.setDomainAxis(domainAxis); //add overlay if (controller.getShowLastTrace() && !controller.getShowIndividualTraces() && (controller.getLastAccumulator() != null) && controller.getLastAccumulator().keySet().contains(metric)) { DefaultTableXYDataset dataset2 = new DefaultTableXYDataset(); XYSeries series = new XYSeries(localization.getString("text.last"), false, false); for (int i = 0; i < controller.getLastAccumulator().size(metric); i++) { series.add((Number) controller.getLastAccumulator().get("NFE", i), (Number) controller.getLastAccumulator().get(metric, i)); } dataset2.addSeries(series); XYLineAndShapeRenderer renderer2 = new XYLineAndShapeRenderer(true, false); renderer2.setSeriesStroke(0, new BasicStroke(1f, 1, 1)); renderer2.setSeriesPaint(0, Color.BLACK); plot.setDataset(1, dataset2); plot.setRenderer(1, renderer2); plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD); } //update the chart in the GUI removeAll(); add(new ChartPanel(chart), BorderLayout.CENTER); revalidate(); repaint(); }
From source file:lu.lippmann.cdb.common.gui.ts.TimeSeriesChartUtil.java
public static ChartPanel buildChartPanelForAllAttributesInterval(final Instances dataSet, final int dateIdx, final double deviation, final int deviatedAttrIdx) { final YIntervalSeriesCollection tsDataset = new YIntervalSeriesCollection(); final JFreeChart tsChart = ChartFactory.createTimeSeriesChart("", "Time", "Value", tsDataset, true, true, false);/*w ww .j a v a2 s . c om*/ tsChart.getXYPlot().setBackgroundPaint(Color.WHITE); double startgap0 = -1d; double endgap0 = -1d; try { java.util.List<double[]> gaps = WekaTimeSeriesUtil.findGaps(dataSet, deviatedAttrIdx); startgap0 = gaps.get(0)[2] + gaps.get(0)[3]; //System.out.println("start -> "+startgap0); endgap0 = gaps.get(1)[2] - 1; //System.out.println("end -> "+endgap0); } catch (Exception e) { e.printStackTrace(); } final double startgap = startgap0; final double endgap = endgap0; System.out.println("gap --> " + startgap + " " + endgap); tsChart.getXYPlot().setRenderer(/*deviatedAttrIdx,*/new DeviationRenderer(true, false) { /** */ private static final long serialVersionUID = 1234L; private boolean inRange(final int item) { return (item >= startgap && item <= endgap); } @Override public boolean getItemShapeVisible(int series, int item) { return false; } @Override public boolean getItemLineVisible(int series, int item) { return inRange(item); } }); for (int i = 0; i < dataSet.numAttributes() - 1; i++) { //final Color cc=ColorHelper.COLORBREWER_ALL_QUALITATIVE[i]; final Color cc = ColorHelper.getColorForAString(dataSet.attribute(i).name()); tsChart.getXYPlot().getRenderer().setSeriesPaint(i, cc); ((AbstractRenderer) tsChart.getXYPlot().getRenderer()).setSeriesFillPaint(i, cc.brighter()); } fillWithSingleAxisInterval(dataSet, dateIdx, tsDataset, deviation, deviatedAttrIdx); final ChartPanel cp = new ChartPanel(tsChart, true); if (dataSet.numAttributes() <= 2) cp.setBorder(new TitledBorder(dataSet.attribute(0).name())); return cp; }
From source file:edu.scripps.fl.curves.plot.CurvePlot.java
public void init() { dataset = new YIntervalSeriesCollection(); LogAxis xAxis = new LogAxis(xAxisLabel) { @Override/*from w w w. j ava 2s.co m*/ public NumberFormat getNumberFormatOverride() { return nf; } protected String createTickLabel(double value) { return getNumberFormatOverride().format(value); } }; xAxis.setTickUnit(new NumberTickUnit(1.0, nf)); xAxis.setTickMarksVisible(true); // xAxis.setTickLabelFont(font); // now set in separate method NumberAxis yAxis = new NumberAxis(yAxisLabel); // yAxis.setRange(-20, 120); // yAxis.setTickLabelFont(font); yAxis.setTickUnit(new NumberTickUnit(25)); plot = new XYPlot(dataset, xAxis, yAxis, null); plot.setDomainGridlinesVisible(false); plot.setRangeGridlinesVisible(false); plot.setRangeMinorGridlinesVisible(true); // XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); MyXYErrorRenderer renderer = new MyXYErrorRenderer(); plot.setRenderer(renderer); plot.setBackgroundPaint(Color.WHITE); chart = new JFreeChart("", JFreeChart.DEFAULT_TITLE_FONT, plot, true); chart.setBackgroundPaint(Color.WHITE); plot.setDrawingSupplier(new CurvePlotDrawingSupplier()); }
From source file:com.att.aro.main.PacketPlots.java
/** * Creates the XYIntervalSeries for the uplink and downlink packets plot. * //from w ww . ja v a2 s . c o m * @param plot * The XYPlot for the uplink/downlink plots. * @param dataset * The uplink/downlink datasets. */ private void populatePacketPlot(XYPlot plot, LinkedHashMap<Color, PacketSeries> dataset) { // Create the XY data set YIntervalSeriesCollection coll = new YIntervalSeriesCollection(); XYItemRenderer renderer = plot.getRenderer(); for (PacketSeries series : dataset.values()) { coll.addSeries(series); renderer.setSeriesPaint(coll.indexOf(series.getKey()), series.getColor()); } // Create tooltip generator renderer.setBaseToolTipGenerator(new PacketToolTipGenerator()); plot.setDataset(coll); }
From source file:org.jfree.chart.demo.ThumbnailDemo1.java
private static XYDataset createDataset4() { YIntervalSeries yintervalseries = new YIntervalSeries("Series 1"); YIntervalSeries yintervalseries1 = new YIntervalSeries("Series 2"); Object obj = new Week(); double d = 100D; double d1 = 100D; for (int i = 0; i <= 52; i++) { double d2 = 0.050000000000000003D * (double) i; yintervalseries.add(((RegularTimePeriod) (obj)).getFirstMillisecond(), d, d - d2, d + d2); d = (d + Math.random()) - 0.45000000000000001D; double d3 = 0.070000000000000007D * (double) i; yintervalseries1.add(((RegularTimePeriod) (obj)).getFirstMillisecond(), d1, d1 - d3, d1 + d3); d1 = (d1 + Math.random()) - 0.55000000000000004D; obj = ((RegularTimePeriod) (obj)).next(); }/*from ww w.ja va2 s . co m*/ YIntervalSeriesCollection yintervalseriescollection = new YIntervalSeriesCollection(); yintervalseriescollection.addSeries(yintervalseries); yintervalseriescollection.addSeries(yintervalseries1); return yintervalseriescollection; }
From source file:com.rapidminer.gui.plotter.charts.SeriesChartPlotter.java
private int prepareData() { synchronized (dataTable) { this.dataset = new YIntervalSeriesCollection(); this.plotBounds = false; this.plotIndexToColumnIndexMap.clear(); // series int columnCount = 0; for (int c = 0; c < dataTable.getNumberOfColumns(); c++) { if (getPlotColumn(c)) { if (dataTable.isNumerical(c)) { YIntervalSeries series = new YIntervalSeries(this.dataTable.getColumnName(c)); Iterator<DataTableRow> i = dataTable.iterator(); int index = 0; while (i.hasNext()) { DataTableRow row = i.next(); double value = row.getValue(c); if (axis[INDEX] >= 0 && !dataTable.isNominal(axis[INDEX])) { double indexValue = row.getValue(axis[INDEX]); series.add(indexValue, value, value, value); } else { series.add(index++, value, value, value); }//from w w w . jav a 2s. co m } dataset.addSeries(series); plotIndexToColumnIndexMap.add(c); columnCount++; } } } // Lower and upper bound if (getAxis(MIN) > -1 && getAxis(MAX) > -1) { if (dataTable.isNumerical(getAxis(MIN)) && dataTable.isNumerical(getAxis(MAX))) { YIntervalSeries series = new YIntervalSeries("Bounds"); Iterator<DataTableRow> i = dataTable.iterator(); int index = 0; while (i.hasNext()) { DataTableRow row = i.next(); double lowerValue = row.getValue(getAxis(0)); double upperValue = row.getValue(getAxis(1)); if (lowerValue > upperValue) { double dummy = lowerValue; lowerValue = upperValue; upperValue = dummy; } double mean = (upperValue - lowerValue) / 2.0d + lowerValue; if (axis[INDEX] >= 0 && !dataTable.isNominal(axis[INDEX])) { double indexValue = row.getValue(axis[INDEX]); series.add(indexValue, mean, lowerValue, upperValue); } else { series.add(index++, mean, lowerValue, upperValue); } } dataset.addSeries(series); this.plotBounds = true; this.boundsSeriesIndex = dataset.getSeriesCount() - 1; } } // limit if (useLimit) { YIntervalSeries series = new YIntervalSeries("Limit"); int index = 0; for (DataTableRow row : dataTable) { if (!dataTable.isNominal(axis[INDEX])) { double indexValue = row.getValue(axis[INDEX]); series.add(indexValue, limit, limit, limit); } else { series.add(index++, limit, limit, limit); } } dataset.addSeries(series); } return columnCount; } }
From source file:de.bund.bfr.knime.nls.chart.ChartCreator.java
private static XYDataset createDataSet(String key, double[][] points, double[][] errors) { if (points != null) { if (errors != null) { YIntervalSeriesCollection functionDataset = new YIntervalSeriesCollection(); YIntervalSeries series = new YIntervalSeries(key); for (int j = 0; j < points[0].length; j++) { double error = Double.isFinite(errors[1][j]) ? errors[1][j] : 0.0; series.add(points[0][j], points[1][j], points[1][j] - error, points[1][j] + error); }//ww w . j a va 2 s. c o m functionDataset.addSeries(series); return functionDataset; } else { DefaultXYDataset functionDataset = new DefaultXYDataset(); functionDataset.addSeries(key, points); return functionDataset; } } return null; }
From source file:de.bund.bfr.knime.pmmlite.views.chart.ChartCreator.java
private XYDataset createFunctionDataSet(Plotable plotable, String id, double minX, double maxX) throws ParseException, UnitException { double[][] points = plotable.getFunctionPoints(varX, varY, minX, maxX); if (points == null) { return null; }/* ww w . ja v a 2s .co m*/ double[][] functionErrors = null; if (showConfidence || showPrediction) { functionErrors = plotable.getFunctionErrors(varX, varY, minX, maxX, showPrediction); } if (functionErrors != null) { YIntervalSeriesCollection functionDataset = new YIntervalSeriesCollection(); YIntervalSeries series = new YIntervalSeries(legend.get(id)); for (int j = 0; j < points[0].length; j++) { double error = Double.isNaN(functionErrors[1][j]) ? 0.0 : functionErrors[1][j]; series.add(points[0][j], points[1][j], points[1][j] - error, points[1][j] + error); } functionDataset.addSeries(series); return functionDataset; } else { DefaultXYDataset dataSet = new DefaultXYDataset(); dataSet.addSeries(legend.get(id), points); return dataSet; } }