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

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

Introduction

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

Prototype

public XYSeries(Comparable key, boolean autoSort, boolean allowDuplicateXValues) 

Source Link

Document

Constructs a new xy-series that contains no data.

Usage

From source file:org.matsim.contrib.util.timeprofile.TimeProfileCharts.java

public static DefaultTableXYDataset createXYDataset(String[] series, List<Double> times,
        List<Object[]> timeProfile) {
    XYSeries[] seriesArray = new XYSeries[series.length];
    for (int s = 0; s < series.length; s++) {
        seriesArray[s] = new XYSeries(series[s], false, false);
    }/*www  .ja  v  a2 s .c o  m*/

    for (int t = 0; t < timeProfile.size(); t++) {
        Object[] timePoint = timeProfile.get(t);
        double hour = times.get(t) / 3600;
        for (int s = 0; s < series.length; s++) {
            seriesArray[s].add(hour, Double.parseDouble(timePoint[s] + ""));
        }
    }

    DefaultTableXYDataset dataset = new DefaultTableXYDataset();
    for (int s = 0; s < series.length; s++) {
        dataset.addSeries(seriesArray[s]);
    }
    return dataset;
}

From source file:playground.artemc.socialCost.MeanTravelTimeWriter.java

/**
 * @return a graphic showing the number of agents in the evacuated area
 *//* ww  w.ja v a  2  s .c o  m*/
private JFreeChart getGraphic(String modeName, double data[]) {

    final XYSeriesCollection xyData = new XYSeriesCollection();
    final XYSeries dataSerie = new XYSeries("mean trip travel time", false, true);

    for (int i = 0; i < data.length; i++) {
        dataSerie.add(i, data[i]);
    }

    xyData.addSeries(dataSerie);

    //      final JFreeChart chart = ChartFactory.createXYStepChart(
    final JFreeChart chart = ChartFactory.createXYLineChart("mean travel time, " + modeName, "iteration",
            "travel time", xyData, PlotOrientation.VERTICAL, true, // legend
            false, // tooltips
            false // urls
    );

    XYPlot plot = chart.getXYPlot();

    final CategoryAxis axis1 = new CategoryAxis("hour");
    axis1.setTickLabelFont(new Font("SansSerif", Font.PLAIN, 7));
    plot.setDomainAxis(new NumberAxis("time"));
    return chart;
}

From source file:TradeMonitorGui.java

private void startGui() {
    XYSeriesCollection dataset = new XYSeriesCollection();
    createChartFrame(dataset);//  w  ww.ja  v  a2  s .c  om
    EntryAddedUpdatedListener<String, KeyedWindowResult<String, Double>> listener = (key, value) -> {
        if (!TICKERS.contains(key)) {
            return;
        }
        Long ts = value.end();
        double val = value.result() / 100.0;
        int idx = dataset.getSeriesIndex(key);
        XYSeries series;
        if (idx == -1) {
            series = new XYSeries(key, true, false);
            dataset.addSeries(series);
        } else {
            series = dataset.getSeries(idx);
        }
        series.addOrUpdate((long) ts, val);
    };
    this.listenerId = avgPrices.addEntryListener(listener, true);
}

From source file:playground.dgrether.linkanalysis.DgCountPerIterationGraph.java

public void addCountEventHandler(TTInOutflowEventHandler h, String seriesTitle) {
    XYSeries series = new XYSeries(seriesTitle, false, true);
    for (Integer i : h.getCountPerIteration().keySet()) {
        series.add(i, h.getCountPerIteration().get(i));
    }//from   ww  w  . j  a  va2  s .  c om
    this.dataset.addSeries(series);
}

From source file:org.jfree.chart.demo.StackedXYAreaChartDemo2.java

/**
 * Creates a sample dataset.//  w w  w  .  jav  a  2 s .c om
 * 
 * @return a sample dataset.
 */
private TableXYDataset createDataset() {

    final DefaultTableXYDataset dataset = new DefaultTableXYDataset();

    final XYSeries s1 = new XYSeries("Series 1", true, false);
    s1.add(5.0, 5.0);
    s1.add(10.0, 15.5);
    s1.add(15.0, 9.5);
    s1.add(20.0, 7.5);
    dataset.addSeries(s1);

    final XYSeries s2 = new XYSeries("Series 2", true, false);
    s2.add(5.0, 5.0);
    s2.add(10.0, 15.5);
    s2.add(15.0, 9.5);
    s2.add(20.0, 3.5);
    dataset.addSeries(s2);

    return dataset;

}

From source file:playground.benjamin.scenarios.zurich.analysis.charts.BkDeltaUtilsChart.java

private XYSeries createSeries(final String title, SortedMap<Double, Double> result) {
    XYSeries series = new XYSeries(title, false, true);
    for (Entry<Double, Double> entry : result.entrySet()) {
        series.add(entry.getKey(), entry.getValue());
    }//  ww  w  .  j a v a  2  s . co m
    return series;
}

From source file:org.matsim.contrib.socnetsim.usage.analysis.CourtesyHistogramListener.java

static JFreeChart getGraphic(final CourtesyHistogram.DataFrame dataFrame, int iteration, String actType) {
    final XYSeriesCollection xyData = new XYSeriesCollection();
    final XYSeries helloSeries = new XYSeries("hello", false, true);
    final XYSeries goodbyeSerie = new XYSeries("goodbye", false, true);
    final XYSeries togetherSerie = new XYSeries("pairs together", false, true);
    int together = 0;
    for (int i = 0; i < dataFrame.countsHello.length; i++) {
        together = together + dataFrame.countsHello[i] - dataFrame.countsGoodbye[i];
        double hour = i * dataFrame.binSize / 60.0 / 60.0;
        helloSeries.add(hour, dataFrame.countsHello[i]);
        goodbyeSerie.add(hour, dataFrame.countsGoodbye[i]);
        togetherSerie.add(hour, together);
    }//w w w  .  j  a  v  a2  s.  c  o  m

    xyData.addSeries(helloSeries);
    xyData.addSeries(goodbyeSerie);
    xyData.addSeries(togetherSerie);

    final JFreeChart chart = ChartFactory.createXYStepChart(
            "Courtesy Statistics," + "actType " + actType + " it." + iteration, "time", "# persons", xyData,
            PlotOrientation.VERTICAL, true, // legend
            false, // tooltips
            false // urls
    );

    XYPlot plot = chart.getXYPlot();

    final CategoryAxis axis1 = new CategoryAxis("hour");
    axis1.setTickLabelFont(new Font("SansSerif", Font.PLAIN, 7));
    plot.setDomainAxis(new NumberAxis("time"));

    plot.getRenderer().setSeriesStroke(0, new BasicStroke(2.0f));
    plot.getRenderer().setSeriesStroke(1, new BasicStroke(2.0f));
    plot.getRenderer().setSeriesStroke(2, new BasicStroke(2.0f));
    plot.setBackgroundPaint(Color.white);
    plot.setRangeGridlinePaint(Color.gray);
    plot.setDomainGridlinePaint(Color.gray);

    return chart;
}

From source file:com.graphhopper.jsprit.analysis.toolbox.XYLineChartBuilder.java

/**
 * Adds data to the according series (i.e. XYLine).
 *
 * @param seriesName/*w  w w.  j a  v  a2 s.com*/
 * @param xVal
 * @param yVal
 */
public void addData(String seriesName, double xVal, double yVal) {
    if (!seriesMap.containsKey(seriesName)) {
        seriesMap.put(seriesName, new XYSeries(seriesName, true, true));
    }
    seriesMap.get(seriesName).add(xVal, yVal);
}

From source file:edu.ucla.stat.SOCR.chart.demo.StackedXYAreaChartDemo1.java

/**
 * Creates a sample dataset./*from   w w  w . j a v  a2 s  .c  o  m*/
 * 
 * @return a sample dataset.
 */
protected TableXYDataset createDataset(boolean isDemo) {
    if (isDemo) {
        DefaultTableXYDataset dataset = new DefaultTableXYDataset();

        XYSeries s1 = new XYSeries("Series 1", true, false);
        s1.add(5.0, 5.0);
        s1.add(10.0, 15.5);
        s1.add(15.0, 9.5);
        s1.add(20.0, 7.5);
        dataset.addSeries(s1);

        XYSeries s2 = new XYSeries("Series 2", true, false);
        s2.add(5.0, 5.0);
        s2.add(10.0, 15.5);
        s2.add(15.0, 9.5);
        s2.add(20.0, 3.5);
        dataset.addSeries(s2);

        return dataset;
    } else
        return super.createDataset(false);

}

From source file:bzstats.chart.KillRatioHistoryChart.java

/**
 * Gets the XYSeries for a certain player.
 * Creates a new one if player doesn't have one yet.
 * @param player The player's name./*from   w ww . j av  a2 s  .  com*/
 * @return An XYSeries for the player, or <code>null</code> if the
 * maximum number of players has been exceeded.
 */
private XYSeries getSeries(String player) {

    if (!series.containsKey(player)) {
        if (series.size() < MAXPLAYERS) {
            series.put(player, new XYSeries(player, true, false));
        }
    }

    return (XYSeries) series.get(player);

}