Example usage for org.jfree.data Range combine

List of usage examples for org.jfree.data Range combine

Introduction

In this page you can find the example usage for org.jfree.data Range combine.

Prototype

public static Range combine(Range range1, Range range2) 

Source Link

Document

Creates a new range by combining two existing ranges.

Usage

From source file:ChartUsingJava.CombinedXYPlot.java

/**
 * Returns the bounds of the data values that will be plotted against
 * the specified axis.//from  ww w  .ja v a 2  s  . co m
 *
 * @param axis  the axis.
 *
 * @return The bounds.
 */
public Range getDataRange(ValueAxis axis) {
    Range l_result = null;
    Iterator l_itr = getSubplots().iterator();
    while (l_itr.hasNext()) {
        XYPlot l_subplot = (XYPlot) l_itr.next();

        l_result = Range.combine(l_result, l_subplot.getDataRange(axis));
    }
    return l_result;
}

From source file:ChartUsingJava.CombinedCategoryPlot.java

/**
 * Returns the bounds of the data values that will be plotted against
 * the specified axis.//from   w w  w . j  a v  a 2 s.  c o  m
 *
 * @param axis  the axis.
 *
 * @return The bounds.
 */
public Range getDataRange(ValueAxis axis) {
    Range l_result = null;
    Iterator l_itr = getSubplots().iterator();
    while (l_itr.hasNext()) {
        CategoryPlot l_subplot = (CategoryPlot) l_itr.next();

        l_result = Range.combine(l_result, l_subplot.getDataRange(axis));
    }
    return l_result;
}

From source file:org.esa.beam.timeseries.ui.graph.TimeSeriesGraphModel.java

void updateAnnotation(RasterDataNode raster) {
    removeAnnotation();/*from w  w  w .ja  va  2 s .c o  m*/

    final AbstractTimeSeries timeSeries = getTimeSeries();
    TimeCoding timeCoding = timeSeries.getRasterTimeMap().get(raster);
    if (timeCoding != null) {
        final ProductData.UTC startTime = timeCoding.getStartTime();
        final Millisecond timePeriod = new Millisecond(startTime.getAsDate(), ProductData.UTC.UTC_TIME_ZONE,
                Locale.getDefault());

        double millisecond = timePeriod.getFirstMillisecond();
        Range valueRange = null;
        for (int i = 0; i < timeSeriesPlot.getRangeAxisCount(); i++) {
            valueRange = Range.combine(valueRange, timeSeriesPlot.getRangeAxis(i).getRange());
        }
        if (valueRange != null) {
            XYAnnotation annotation = new XYLineAnnotation(millisecond, valueRange.getLowerBound(), millisecond,
                    valueRange.getUpperBound());
            timeSeriesPlot.addAnnotation(annotation, true);
        }
    }
}

From source file:org.jfree.data.RangeTest.java

/**
 * Some checks for the combine method./* www  .  ja  va2s. co  m*/
 */
@Test
public void testCombine() {
    Range r1 = new Range(1.0, 2.0);
    Range r2 = new Range(1.5, 2.5);

    assertNull(Range.combine(null, null));
    assertEquals(r1, Range.combine(r1, null));
    assertEquals(r2, Range.combine(null, r2));
    assertEquals(new Range(1.0, 2.5), Range.combine(r1, r2));

    Range r3 = new Range(Double.NaN, 1.3);
    Range rr = Range.combine(r1, r3);
    assertTrue(Double.isNaN(rr.getLowerBound()));
    assertEquals(2.0, rr.getUpperBound(), EPSILON);

    Range r4 = new Range(1.7, Double.NaN);
    rr = Range.combine(r4, r1);
    assertEquals(1.0, rr.getLowerBound(), EPSILON);
    assertTrue(Double.isNaN(rr.getUpperBound()));
}

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

/**
 * Returns the range of the values in this dataset's domain.
 *
 * @param includeInterval  a flag that determines whether or not the
 *                         x-interval is taken into account.
 *
 * @return The range.//  w w w .  ja  v a 2  s . c  om
 */
@Override
public Range getDomainBounds(boolean includeInterval) {
    boolean interval = includeInterval || this.domainIsPointsInTime;
    Range result = null;
    Range temp = null;
    Iterator iterator = this.data.iterator();
    while (iterator.hasNext()) {
        TimePeriodValues series = (TimePeriodValues) iterator.next();
        int count = series.getItemCount();
        if (count > 0) {
            TimePeriod start = series.getTimePeriod(series.getMinStartIndex());
            TimePeriod end = series.getTimePeriod(series.getMaxEndIndex());
            if (!interval) {
                if (this.xPosition == TimePeriodAnchor.START) {
                    TimePeriod maxStart = series.getTimePeriod(series.getMaxStartIndex());
                    temp = new Range(start.getStart().getTime(), maxStart.getStart().getTime());
                } else if (this.xPosition == TimePeriodAnchor.MIDDLE) {
                    TimePeriod minMiddle = series.getTimePeriod(series.getMinMiddleIndex());
                    long s1 = minMiddle.getStart().getTime();
                    long e1 = minMiddle.getEnd().getTime();
                    TimePeriod maxMiddle = series.getTimePeriod(series.getMaxMiddleIndex());
                    long s2 = maxMiddle.getStart().getTime();
                    long e2 = maxMiddle.getEnd().getTime();
                    temp = new Range(s1 + (e1 - s1) / 2, s2 + (e2 - s2) / 2);
                } else if (this.xPosition == TimePeriodAnchor.END) {
                    TimePeriod minEnd = series.getTimePeriod(series.getMinEndIndex());
                    temp = new Range(minEnd.getEnd().getTime(), end.getEnd().getTime());
                }
            } else {
                temp = new Range(start.getStart().getTime(), end.getEnd().getTime());
            }
            result = Range.combine(result, temp);
        }
    }
    return result;
}

From source file:utilesChart.util.TimeSeriesCollection.java

/**
 * Returns the range of the values in this dataset's domain.
 *
 * @param includeInterval  a flag that determines whether or not the
 *                         x-interval is taken into account.
 *
 * @return The range./*  w w  w. j  a v  a2 s .  com*/
 */
public Range getDomainBounds(boolean includeInterval) {
    Range result = null;
    Iterator iterator = this.data.iterator();
    while (iterator.hasNext()) {
        TimeSeries series = (TimeSeries) iterator.next();
        int count = series.getItemCount();
        if (count > 0) {
            RegularTimePeriod start = series.getTimePeriod(0);
            RegularTimePeriod end = series.getTimePeriod(count - 1);
            Range temp;
            if (!includeInterval) {
                temp = new Range(getX(start), getX(end));
            } else {
                temp = new Range(start.getFirstMillisecond(this.workingCalendar),
                        end.getLastMillisecond(this.workingCalendar));
            }
            result = Range.combine(result, temp);
        }
    }
    return result;
}

From source file:edu.dlnu.liuwenpeng.Time.TimeSeriesCollection.java

/**    
* Returns the range of the values in this dataset's domain.    
*    //w ww.jav  a 2 s.co m
* @param includeInterval  a flag that determines whether or not the    
*                         x-interval is taken into account.    
*     
* @return The range.    
*/
public Range getDomainBounds(boolean includeInterval) {
    Range result = null;
    Iterator iterator = this.data.iterator();
    while (iterator.hasNext()) {
        TimeSeries series = (TimeSeries) iterator.next();
        int count = series.getItemCount();
        if (count > 0) {
            RegularTimePeriod start = series.getTimePeriod(0);
            RegularTimePeriod end = series.getTimePeriod(count - 1);
            Range temp;
            //if (!includeInterval) {    
            temp = new Range(getX(start), getX(end));
            //System.out.println("here");
            // }    
            /*  else {    
               temp = new Range(    
                       start.getFirstMillisecond(this.workingCalendar),    
                       end.getLastMillisecond(this.workingCalendar));    
              }    
            */
            result = Range.combine(result, temp);
        }
    }
    return result;
}

From source file:utilesChart.util.TimeSeriesCollection.java

/**
 * Returns the bounds of the domain values for the specified series.
 *
 * @param visibleSeriesKeys  a list of keys for the visible series.
 * @param includeInterval  include the x-interval?
 *
 * @return A range.//from   w w w  .jav a2 s  .  c o m
 *
 * @since 1.0.13
 */
public Range getDomainBounds(List visibleSeriesKeys, boolean includeInterval) {
    Range result = null;
    Iterator iterator = visibleSeriesKeys.iterator();
    while (iterator.hasNext()) {
        Comparable seriesKey = (Comparable) iterator.next();
        TimeSeries series = getSeries(seriesKey);
        int count = series.getItemCount();
        if (count > 0) {
            RegularTimePeriod start = series.getTimePeriod(0);
            RegularTimePeriod end = series.getTimePeriod(count - 1);
            Range temp;
            if (!includeInterval) {
                temp = new Range(getX(start), getX(end));
            } else {
                temp = new Range(start.getFirstMillisecond(this.workingCalendar),
                        end.getLastMillisecond(this.workingCalendar));
            }
            result = Range.combine(result, temp);
        }
    }
    return result;
}

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

/**
 * Returns the range of the values in this dataset's domain.
 *
 * @param includeInterval  a flag that determines whether or not the
 *                         x-interval is taken into account.
 *
 * @return The range./*from w  w  w.j  av  a2s.c  o m*/
 */
@Override
public Range getDomainBounds(boolean includeInterval) {
    Range result = null;
    Iterator iterator = this.data.iterator();
    while (iterator.hasNext()) {
        TimeSeries series = (TimeSeries) iterator.next();
        int count = series.getItemCount();
        if (count > 0) {
            RegularTimePeriod start = series.getTimePeriod(0);
            RegularTimePeriod end = series.getTimePeriod(count - 1);
            Range temp;
            if (!includeInterval) {
                temp = new Range(getX(start), getX(end));
            } else {
                temp = new Range(start.getFirstMillisecond(this.workingCalendar),
                        end.getLastMillisecond(this.workingCalendar));
            }
            result = Range.combine(result, temp);
        }
    }
    return result;
}

From source file:utilesChart.util.TimeSeriesCollection.java

/**
 * Returns the bounds for the y-values in the dataset.
 *
 * @param visibleSeriesKeys  the visible series keys.
 * @param xRange  the x-range (null not permitted).
 * @param includeInterval  ignored.//www . j ava2 s. c  om
 *
 * @return The bounds.
 *
 * @since 1.0.14
 */
public Range getRangeBounds(List visibleSeriesKeys, Range xRange, boolean includeInterval) {
    Range result = null;
    Iterator iterator = visibleSeriesKeys.iterator();
    while (iterator.hasNext()) {
        Comparable seriesKey = (Comparable) iterator.next();
        TimeSeries series = getSeries(seriesKey);
        Range r = null;
        r = new Range(series.getMinY(), series.getMaxY());
        // FIXME: Here we are ignoring the xRange
        result = Range.combine(result, r);
    }
    return result;
}