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

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

Introduction

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

Prototype

public YIntervalSeriesCollection() 

Source Link

Document

Creates a new instance of YIntervalSeriesCollection.

Usage

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;
    }
}