Example usage for org.jfree.data.time TimeSeriesCollection getRangeBounds

List of usage examples for org.jfree.data.time TimeSeriesCollection getRangeBounds

Introduction

In this page you can find the example usage for org.jfree.data.time TimeSeriesCollection getRangeBounds.

Prototype

public Range getRangeBounds(boolean includeInterval) 

Source Link

Document

Returns the bounds for the y-values in the dataset.

Usage

From source file:tools.descartes.bungee.chart.ChartGenerator.java

private static XYPlot createAllocationPlot(final TimeSeriesCollection dataset) {

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setBaseShapesVisible(true);
    renderer.setBaseShapesFilled(false);
    final NumberAxis rangeAxis = new NumberAxis("Resource Amount");
    rangeAxis.setAutoRangeIncludesZero(true);
    //rangeAxis.setTickUnit(new NumberTickUnit(1));
    double lower = Math.min(1, dataset.getRangeBounds(false).getLowerBound()) - 0.2;
    double upper = Math.max(2, dataset.getRangeBounds(false).getUpperBound()) + 0.2;
    rangeAxis.setRange(lower, upper);//from   ww w  .ja  va 2s  .  c  om
    final XYPlot allocationPlot = new XYPlot(dataset, null, rangeAxis, renderer);
    allocationPlot.setSeriesRenderingOrder(SeriesRenderingOrder.REVERSE);

    for (int i = 0; i < dataset.getSeriesCount(); i++) {
        TimeSeries series = dataset.getSeries(i);
        //addEndSeriesItem(lastDate, series);
        String description = series.getKey().toString();
        renderer.setSeriesStroke(i, new BasicStroke(STROKE_WIDTH));
        if (description.equals(AllocationSeries.CATEGORY.DEMAND.toString())) {
            renderer.setSeriesShapesVisible(i, false);
            renderer.setSeriesPaint(i, Color.RED);
        } else if (description.equals(SupplySeries.TYPE.VM_SCHEDULED.toString())) {
            renderer.setSeriesPaint(i, VARIANT_C_COLOR);
        } else if (description.equals(SupplySeries.TYPE.VM_COMPLETED.toString())) {
            renderer.setSeriesPaint(i, VARIANT_B_COLOR);
        } else if (description.equals(SupplySeries.TYPE.LB_RULE_ADAPTION.toString())) {
            if (dataset.getSeriesCount() != 2) {
                renderer.setSeriesPaint(i, VARIANT_A_COLOR);
            } else {
                renderer.setSeriesPaint(i, Color.BLUE);
            }
        } else if (description.equals(SupplySeries.TYPE.MONITORED.toString())) {
            if (dataset.getSeriesCount() != 2) {
                renderer.setSeriesPaint(i, VARIANT_D_COLOR);
            } else {
                renderer.setSeriesPaint(i, Color.BLUE);
            }
        } else {
            renderer.setSeriesPaint(i, colorForConfig(description));
        }
    }

    return allocationPlot;
}

From source file:ec.ui.chart.RevisionChartPanel.java

private void setRange(TimeSeriesCollection ref, TimeSeriesCollection series) {
    double min, max;
    Range c = ref.getRangeBounds(true);

    min = c.getLowerBound();/*from w  w  w. jav a  2 s .co m*/
    max = c.getUpperBound();

    if (series != null && series.getSeriesCount() != 0) {
        Range s = series.getRangeBounds(true);
        if (min > s.getLowerBound()) {
            min = s.getLowerBound();
        }

        if (max < s.getUpperBound()) {
            max = s.getUpperBound();
        }
    }

    min -= (Math.abs(min) * .03);
    max += (Math.abs(max) * .03);

    panel.getChart().getXYPlot().getRangeAxis().setRange(new Range(min, max));
}

From source file:ec.ui.view.RevisionSaSeriesView.java

private void setRange(TimeSeriesCollection chartSeries, TimeSeriesCollection startSeries) {
    double min, max;
    Range chart = chartSeries.getRangeBounds(true);
    Range start = startSeries.getRangeBounds(true);
    min = chart.getLowerBound();//from  w  w  w .j a v  a  2 s .c  o m
    max = chart.getUpperBound();

    if (min > start.getLowerBound()) {
        min = start.getLowerBound();
    }

    if (max < start.getUpperBound()) {
        max = start.getUpperBound();
    }

    min -= (Math.abs(min) * .03);
    max += (Math.abs(max) * .03);

    range = new Range(min, max);
}

From source file:org.jfree.data.time.TimeSeriesCollectionTest.java

/**
 * Some checks for the getRangeBounds() method.
 *//*from w  w w . ja  v  a2  s . com*/
@Test
public void testGetRangeBounds() {
    TimeSeriesCollection dataset = new TimeSeriesCollection();

    // when the dataset contains no series, we expect the range to be null
    assertNull(dataset.getRangeBounds(false));
    assertNull(dataset.getRangeBounds(true));

    // when the dataset contains one or more series, but those series
    // contain no items, we still expect the range to be null
    TimeSeries s1 = new TimeSeries("S1");
    dataset.addSeries(s1);
    assertNull(dataset.getRangeBounds(false));
    assertNull(dataset.getRangeBounds(true));

    // tests with values
    s1.add(new Year(2012), 1.0);
    assertEquals(new Range(1.0, 1.0), dataset.getRangeBounds(false));
    assertEquals(new Range(1.0, 1.0), dataset.getRangeBounds(true));
    s1.add(new Year(2013), -1.0);
    assertEquals(new Range(-1.0, 1.0), dataset.getRangeBounds(false));
    assertEquals(new Range(-1.0, 1.0), dataset.getRangeBounds(true));
    s1.add(new Year(2014), null);
    assertEquals(new Range(-1.0, 1.0), dataset.getRangeBounds(false));
    assertEquals(new Range(-1.0, 1.0), dataset.getRangeBounds(true));

    // adding a second series
    TimeSeries s2 = new TimeSeries("S2");
    dataset.addSeries(s2);
    assertEquals(new Range(-1.0, 1.0), dataset.getRangeBounds(false));
    assertEquals(new Range(-1.0, 1.0), dataset.getRangeBounds(true));

    s2.add(new Year(2014), 5.0);
    assertEquals(new Range(-1.0, 5.0), dataset.getRangeBounds(false));
    assertEquals(new Range(-1.0, 5.0), dataset.getRangeBounds(true));

    dataset.removeAllSeries();
    assertNull(dataset.getRangeBounds(false));
    assertNull(dataset.getRangeBounds(true));

    s1 = new TimeSeries("s1");
    s2 = new TimeSeries("s2");
    dataset.addSeries(s1);
    dataset.addSeries(s2);
    assertNull(dataset.getRangeBounds(false));
    assertNull(dataset.getRangeBounds(true));

    s2.add(new Year(2014), 100.0);
    assertEquals(new Range(100.0, 100.0), dataset.getRangeBounds(false));
    assertEquals(new Range(100.0, 100.0), dataset.getRangeBounds(true));
}