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

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

Introduction

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

Prototype

public YIntervalSeries(Comparable key) 

Source Link

Document

Creates a new empty series.

Usage

From source file:org.btrg.df.betterologist.swingui.ProjectJobSchedulingPanel.java

private JFreeChart createChart(Schedule schedule) {
    YIntervalSeriesCollection seriesCollection = new YIntervalSeriesCollection();
    Map<Project, YIntervalSeries> projectSeriesMap = new LinkedHashMap<Project, YIntervalSeries>(
            schedule.getProjectList().size());
    YIntervalRenderer renderer = new YIntervalRenderer();
    int maximumEndDate = 0;
    int seriesIndex = 0;
    for (Project project : schedule.getProjectList()) {
        YIntervalSeries projectSeries = new YIntervalSeries(project.getLabel());
        seriesCollection.addSeries(projectSeries);
        projectSeriesMap.put(project, projectSeries);
        renderer.setSeriesShape(seriesIndex, new Rectangle());
        renderer.setSeriesStroke(seriesIndex, new BasicStroke(3.0f));
        seriesIndex++;/*w w  w  . j ava2  s.  c om*/
    }
    for (Allocation allocation : schedule.getAllocationList()) {
        int startDate = allocation.getStartDate();
        int endDate = allocation.getEndDate();
        YIntervalSeries projectSeries = projectSeriesMap.get(allocation.getProject());
        projectSeries.add(allocation.getId(), (startDate + endDate) / 2.0, startDate, endDate);
        maximumEndDate = Math.max(maximumEndDate, endDate);
    }
    NumberAxis domainAxis = new NumberAxis("Job");
    domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    domainAxis.setRange(-0.5, schedule.getAllocationList().size() - 0.5);
    domainAxis.setInverted(true);
    NumberAxis rangeAxis = new NumberAxis("Day (start to end date)");
    rangeAxis.setRange(-0.5, maximumEndDate + 0.5);
    XYPlot plot = new XYPlot(seriesCollection, domainAxis, rangeAxis, renderer);
    plot.setOrientation(PlotOrientation.HORIZONTAL);
    return new JFreeChart("Project Job Scheduling", JFreeChart.DEFAULT_TITLE_FONT, plot, true);
}

From source file:plugins.tutorial.chart.ChartTutorial2.java

/**
 * Returns a sample dataset./*from w  w  w.ja v a 2 s .  c  o m*/
 * 
 * @return The dataset.
 */
private static XYDataset createDataset() {

    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 * i;
        yintervalseries.add(((RegularTimePeriod) (obj)).getFirstMillisecond(), d, d - d2, d + d2);
        d = (d + Math.random()) - 0.45000000000000001D;
        double d3 = 0.070000000000000007D * i;
        yintervalseries1.add(((RegularTimePeriod) (obj)).getFirstMillisecond(), d1, d1 - d3, d1 + d3);
        d1 = (d1 + Math.random()) - 0.55000000000000004D;
        obj = ((RegularTimePeriod) (obj)).next();
    }

    YIntervalSeriesCollection yintervalseriescollection = new YIntervalSeriesCollection();
    yintervalseriescollection.addSeries(yintervalseries);
    yintervalseriescollection.addSeries(yintervalseries1);
    return yintervalseriescollection;

}

From source file:com.spotify.heroic.http.render.RenderUtils.java

public static JFreeChart createChart(final List<ShardedResultGroup> groups, final String title,
        Map<String, String> highlight, Double threshold, int height) {
    final XYLineAndShapeRenderer lineAndShapeRenderer = new XYLineAndShapeRenderer(true, true);
    final DeviationRenderer intervalRenderer = new DeviationRenderer();

    final XYSeriesCollection regularData = new XYSeriesCollection();
    final YIntervalSeriesCollection intervalData = new YIntervalSeriesCollection();

    int lineAndShapeCount = 0;
    int intervalCount = 0;

    for (final ShardedResultGroup resultGroup : groups) {
        final MetricCollection group = resultGroup.getMetrics();

        if (group.getType() == MetricType.POINT) {
            final XYSeries series = new XYSeries(resultGroup.getMetrics().toString());

            final List<Point> data = group.getDataAs(Point.class);

            for (final Point d : data) {
                series.add(d.getTimestamp(), d.getValue());
            }/*from   ww  w .j av a2 s .  co m*/

            lineAndShapeRenderer.setSeriesPaint(lineAndShapeCount, Color.BLUE);
            lineAndShapeRenderer.setSeriesShapesVisible(lineAndShapeCount, false);
            lineAndShapeRenderer.setSeriesStroke(lineAndShapeCount, new BasicStroke(2.0f));
            regularData.addSeries(series);
            ++lineAndShapeCount;
        }

        if (group.getType() == MetricType.SPREAD) {
            final YIntervalSeries series = new YIntervalSeries(resultGroup.getMetrics().toString());

            final List<Spread> data = group.getDataAs(Spread.class);

            for (final Spread d : data) {
                series.add(d.getTimestamp(), d.getSum() / d.getCount(), d.getMin(), d.getMax());
            }

            intervalRenderer.setSeriesPaint(intervalCount, Color.GREEN);
            intervalRenderer.setSeriesStroke(intervalCount, new BasicStroke(2.0f));
            intervalRenderer.setSeriesFillPaint(intervalCount, new Color(200, 255, 200));
            intervalRenderer.setSeriesShapesVisible(intervalCount, false);
            intervalData.addSeries(series);
            ++intervalCount;
        }
    }

    final JFreeChart chart = buildChart(title, regularData, intervalData, lineAndShapeRenderer,
            intervalRenderer);

    chart.setAntiAlias(true);
    chart.setBackgroundPaint(Color.WHITE);

    final XYPlot plot = chart.getXYPlot();

    plot.setBackgroundPaint(Color.WHITE);
    plot.setDomainGridlinePaint(Color.BLACK);
    plot.setRangeGridlinePaint(Color.BLACK);

    if (threshold != null) {
        final ValueMarker marker = new ValueMarker(threshold, Color.RED,
                new BasicStroke(Math.max(Math.min(height / 20, 6), 1)), Color.RED, null, 0.5f);
        plot.addRangeMarker(marker);
    }

    plot.setRenderer(lineAndShapeRenderer);

    // final DateAxis rangeAxis = (DateAxis) plot.getRangeAxis();
    // rangeAxis.setStandardTickUnits(DateAxis.createStandardDateTickUnits());

    return chart;
}

From source file:org.jfree.data.xy.YIntervalSeriesTest.java

/**
 * Confirm that the equals method can distinguish all the required fields.
 *///from  ww  w.j  a  v a2  s .c  o  m
@Test
public void testEquals() {

    YIntervalSeries s1 = new YIntervalSeries("s1");
    YIntervalSeries s2 = new YIntervalSeries("s1");
    assertTrue(s1.equals(s2));

    // seriesKey
    s1 = new YIntervalSeries("s2");
    assertFalse(s1.equals(s2));
    s2 = new YIntervalSeries("s2");
    assertTrue(s1.equals(s2));

    // autoSort
    s1 = new YIntervalSeries("s2", false, true);
    assertFalse(s1.equals(s2));
    s2 = new YIntervalSeries("s2", false, true);
    assertTrue(s1.equals(s2));

    // allowDuplicateValues
    s1 = new YIntervalSeries("s2", false, false);
    assertFalse(s1.equals(s2));
    s2 = new YIntervalSeries("s2", false, false);
    assertTrue(s1.equals(s2));

    // add a value
    s1.add(1.0, 0.5, 1.5, 2.0);
    assertFalse(s1.equals(s2));
    s2.add(1.0, 0.5, 1.5, 2.0);
    assertTrue(s2.equals(s1));

    // add another value
    s1.add(2.0, 0.5, 1.5, 2.0);
    assertFalse(s1.equals(s2));
    s2.add(2.0, 0.5, 1.5, 2.0);
    assertTrue(s2.equals(s1));

    // remove a value
    s1.remove(new Double(1.0));
    assertFalse(s1.equals(s2));
    s2.remove(new Double(1.0));
    assertTrue(s2.equals(s1));
}

From source file:org.jfree.data.xy.junit.YIntervalSeriesCollectionTest.java

/**
 * Confirm that the equals method can distinguish all the required fields.
 *///from  w ww .  ja  va  2s .  co  m
public void testEquals() {
    YIntervalSeriesCollection c1 = new YIntervalSeriesCollection();
    YIntervalSeriesCollection c2 = new YIntervalSeriesCollection();
    assertEquals(c1, c2);

    // add a series
    YIntervalSeries s1 = new YIntervalSeries("Series");
    s1.add(1.0, 1.1, 1.2, 1.3);
    c1.addSeries(s1);
    assertFalse(c1.equals(c2));
    YIntervalSeries s2 = new YIntervalSeries("Series");
    s2.add(1.0, 1.1, 1.2, 1.3);
    c2.addSeries(s2);
    assertTrue(c1.equals(c2));

    // add an empty series
    c1.addSeries(new YIntervalSeries("Empty Series"));
    assertFalse(c1.equals(c2));
    c2.addSeries(new YIntervalSeries("Empty Series"));
    assertTrue(c1.equals(c2));
}

From source file:org.jfree.data.xy.YIntervalSeriesCollectionTest.java

/**
 * Confirm that cloning works./* w  w w  . ja  va 2s  . c o  m*/
 */
@Test
public void testCloning() throws CloneNotSupportedException {
    YIntervalSeriesCollection c1 = new YIntervalSeriesCollection();
    YIntervalSeries s1 = new YIntervalSeries("Series");
    s1.add(1.0, 1.1, 1.2, 1.3);
    c1.addSeries(s1);
    YIntervalSeriesCollection c2 = (YIntervalSeriesCollection) c1.clone();
    assertTrue(c1 != c2);
    assertTrue(c1.getClass() == c2.getClass());
    assertTrue(c1.equals(c2));

    // check independence
    s1.setDescription("XYZ");
    assertFalse(c1.equals(c2));
}

From source file:org.jfree.data.xy.junit.YIntervalSeriesCollectionTest.java

/**
 * Confirm that cloning works./*from   ww  w .  ja v a2s  .co m*/
 */
public void testCloning() {
    YIntervalSeriesCollection c1 = new YIntervalSeriesCollection();
    YIntervalSeries s1 = new YIntervalSeries("Series");
    s1.add(1.0, 1.1, 1.2, 1.3);
    c1.addSeries(s1);
    YIntervalSeriesCollection c2 = null;
    try {
        c2 = (YIntervalSeriesCollection) c1.clone();
    } catch (CloneNotSupportedException e) {
        e.printStackTrace();
    }
    assertTrue(c1 != c2);
    assertTrue(c1.getClass() == c2.getClass());
    assertTrue(c1.equals(c2));

    // check independence
    s1.setDescription("XYZ");
    assertFalse(c1.equals(c2));
}

From source file:org.jfree.data.xy.YIntervalSeriesTest.java

/**
 * Confirm that cloning works./*from   www.  jav a 2 s .  c o  m*/
 */
@Test
public void testCloning() throws CloneNotSupportedException {
    YIntervalSeries s1 = new YIntervalSeries("s1");
    s1.add(1.0, 0.5, 1.5, 2.0);
    YIntervalSeries s2 = (YIntervalSeries) s1.clone();
    assertTrue(s1 != s2);
    assertTrue(s1.getClass() == s2.getClass());
    assertTrue(s1.equals(s2));
}

From source file:org.jfree.data.xy.YIntervalSeriesCollectionTest.java

/**
 * Serialize an instance, restore it, and check for equality.
 *//*from w ww . jav  a2  s. co  m*/
@Test
public void testSerialization() {
    YIntervalSeriesCollection c1 = new YIntervalSeriesCollection();
    YIntervalSeries s1 = new YIntervalSeries("Series");
    s1.add(1.0, 1.1, 1.2, 1.3);
    YIntervalSeriesCollection c2 = (YIntervalSeriesCollection) TestUtilities.serialised(c1);
    assertEquals(c1, c2);
}

From source file:org.jfree.data.xy.YIntervalSeriesTest.java

/**
 * Serialize an instance, restore it, and check for equality.
 *//*from   www .jav  a2 s  . c  o m*/
@Test
public void testSerialization() {
    YIntervalSeries s1 = new YIntervalSeries("s1");
    s1.add(1.0, 0.5, 1.5, 2.0);
    YIntervalSeries s2 = (YIntervalSeries) TestUtilities.serialised(s1);
    assertEquals(s1, s2);
}