Example usage for org.jfree.data.xy XYSeriesCollection addSeries

List of usage examples for org.jfree.data.xy XYSeriesCollection addSeries

Introduction

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

Prototype

public void addSeries(XYSeries series) 

Source Link

Document

Adds a series to the collection and sends a DatasetChangeEvent to all registered listeners.

Usage

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