Example usage for org.jfree.data.time RegularTimePeriod next

List of usage examples for org.jfree.data.time RegularTimePeriod next

Introduction

In this page you can find the example usage for org.jfree.data.time RegularTimePeriod next.

Prototype

public abstract RegularTimePeriod next();

Source Link

Document

Returns the time period following this one, or null if some limit has been reached.

Usage

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

private static XYDataset createDataset(String s, double d, RegularTimePeriod regulartimeperiod, int i) {
    TimeSeries timeseries = new TimeSeries(s);
    RegularTimePeriod regulartimeperiod1 = regulartimeperiod;
    double d1 = d;
    for (int j = 0; j < i; j++) {
        timeseries.add(regulartimeperiod1, d1);
        regulartimeperiod1 = regulartimeperiod1.next();
        d1 *= 1.0D + (Math.random() - 0.495D) / 10D;
    }/*from w w  w  .  ja  v  a  2  s  . c  o m*/

    TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();
    timeseriescollection.addSeries(timeseries);
    return timeseriescollection;
}

From source file:cn.edu.thss.iise.bpmdemo.charts.SWTMultipleAxisDemo1.java

/**
 * Creates a sample dataset./*from   w w  w.j a v  a2s  .  co  m*/
 *
 * @param name
 *            the dataset name.
 * @param base
 *            the starting value.
 * @param start
 *            the starting period.
 * @param count
 *            the number of values to generate.
 *
 * @return The dataset.
 */
private static XYDataset createDataset(String name, double base, RegularTimePeriod start, int count) {

    TimeSeries series = new TimeSeries(name);
    RegularTimePeriod period = start;
    double value = base;
    for (int i = 0; i < count; i++) {
        series.add(period, value);
        period = period.next();
        value = value * (1 + (Math.random() - 0.495) / 10.0);
    }

    TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(series);

    return dataset;

}

From source file:com.dreikraft.axbo.timeseries.TimeSeriesUtil.java

/**
 * Create a XYZ dataset from a time series with Y.
 *
 * @param source/* w w w  .j  a v  a2  s  . c  o  m*/
 * @return
 */
public static final XYZDataset createXYZTimeSeries(final TimeSeries source) {

    final RegularTimePeriod lastTimePeriod = source.getTimePeriod(source.getItemCount() - 1);
    // process all timeperiods including empty ones
    RegularTimePeriod t = source.getTimePeriod(0);
    final List<Double> zValuesList = new LinkedList<>();
    while (!(t.getFirstMillisecond() > lastTimePeriod.getFirstMillisecond())) {
        zValuesList.add(getValue(source, t));
        t = t.next();
    }
    final double[] xValues = new double[zValuesList.size()];
    final double[] yValues = new double[zValuesList.size()];
    final double[] zValues = new double[zValuesList.size()];
    t = source.getTimePeriod(0);
    for (int i = 0; i < zValuesList.size(); i++) {
        xValues[i] = t.getFirstMillisecond();
        yValues[i] = 0;
        zValues[i] = zValuesList.get(i);
        t = t.next();
    }
    final DefaultXYZDataset target = new DefaultXYZDataset();
    target.addSeries(0, new double[][] { xValues, yValues, zValues });

    return target;
}

From source file:com.dreikraft.axbo.timeseries.TimeSeriesUtil.java

/**
 * Create a moving average time series from a given source series.
 *
 * @param source the source timeseries//www. j  a v  a2  s  .  c om
 * @param preLen number of timeperiods before current time period included in
 * moving average calculation
 * @param postLen number of timeperiods after current time period included in
 * moving average calculation
 * @return a moving average time series
 */
public static TimeSeries createMovingAverage(final TimeSeries source, final int preLen, final int postLen) {

    final int len = preLen + postLen + 1;
    final TimeSeries result = new TimeSeries(source.getKey());
    final RegularTimePeriod lastTimePeriod = source.getTimePeriod(source.getItemCount() - 1);

    // process all timeperiods including empty ones
    RegularTimePeriod t = source.getTimePeriod(0);
    while (!(t.getFirstMillisecond() > lastTimePeriod.getFirstMillisecond())) {

        // calculate the moving avg value for the current time period
        double value = getValue(source, t);
        RegularTimePeriod ti = t;
        for (int i = 0; i < preLen; i++) {
            ti = ti.previous();
            value += getValue(source, ti);
        }
        ti = t;
        for (int i = 0; i < postLen; i++) {
            ti = ti.next();
            value += getValue(source, ti);
        }

        // add the moving avg value to the included time periods
        result.addOrUpdate(t, value / len);
        t = t.next();
    }

    return result;
}

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

/**
 * Creates a random dataset.//ww  w. j  a  va  2 s  . c  o  m
 * 
 * @param name  the series name.
 * 
 * @return The dataset.
 */
private TimeSeriesCollection createRandomDataset(final String name) {
    final TimeSeries series = new TimeSeries(name);
    double value = 100.0;
    RegularTimePeriod t = new Day();
    for (int i = 0; i < 50; i++) {
        series.add(t, value);
        t = t.next();
        value = value * (1.0 + Math.random() / 100);
    }
    return new TimeSeriesCollection(series);
}

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

/**
 * Creates a random dataset.//w  ww .j a  v a2s  .co m
 * 
 * @param name  the series name.
 * 
 * @return The dataset.
 */
private TimeSeriesCollection createRandomDataset(String name) {
    TimeSeries series = new TimeSeries(name);
    double value = 100.0;
    RegularTimePeriod t = new Day();
    for (int i = 0; i < 50; i++) {
        series.add(t, value);
        t = t.next();
        value = value * (1.0 + Math.random() / 100);
    }
    return new TimeSeriesCollection(series);
}

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

/**
 * Creates a sample dataset./*from  w  w w . j av a  2 s  .c  o m*/
 * 
 * @param name  the dataset name.
 * @param base  the starting value.
 * @param start  the starting period.
 * @param count  the number of values to generate.
 *
 * @return The dataset.
 */
private XYDataset createDataset(final String name, final double base, final RegularTimePeriod start,
        final int count) {

    final TimeSeries series = new TimeSeries(name, start.getClass());
    RegularTimePeriod period = start;
    double value = base;
    for (int i = 0; i < count; i++) {
        series.add(period, value);
        period = period.next();
        value = value * (1 + (Math.random() - 0.495) / 10.0);
    }

    final TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(series);

    return dataset;

}

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

/**
 * Creates a sample dataset./* w  w  w  .j  a  v  a  2  s  . c  om*/
 *
 * @param count  the item count.
 * 
 * @return the dataset.
 */
private XYDataset createForceDataset(final int count) {
    final TimeSeriesCollection dataset = new TimeSeriesCollection();
    final TimeSeries s1 = new TimeSeries("Wind Force", Minute.class);
    RegularTimePeriod start = new Minute();
    double force = 3.0;
    for (int i = 0; i < count; i++) {
        s1.add(start, force);
        start = start.next();
        force = Math.max(0.5, force + (Math.random() - 0.5) * 0.5);
    }
    dataset.addSeries(s1);
    return dataset;
}

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

/**
 * Creates a sample dataset./*from   w  ww .ja  va2  s . c  om*/
 *
 * @param count  the item count.
 * 
 * @return the dataset.
 */
private XYDataset createDirectionDataset(final int count) {
    final TimeSeriesCollection dataset = new TimeSeriesCollection();
    final TimeSeries s1 = new TimeSeries("Wind Direction", Minute.class);
    RegularTimePeriod start = new Minute();
    double direction = 180.0;
    for (int i = 0; i < count; i++) {
        s1.add(start, direction);
        start = start.next();
        direction = direction + (Math.random() - 0.5) * 15.0;
        if (direction < 0.0) {
            direction = direction + 360.0;
        } else if (direction > 360.0) {
            direction = direction - 360.0;
        }
    }
    dataset.addSeries(s1);
    return dataset;
}

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

/**
 * Creates a dataset containing random values at weekly intervals.
 *
 * @param items  the number of items in the dataset.
 * //from ww w  . j  a va 2s  .c  o m
 * @return the dataset.
 */
private XYDataset createDataset(final int items) {

    final TimeSeries s1 = new TimeSeries("Random Data", Week.class);
    RegularTimePeriod t = new Week();
    double v = 100.0;
    for (int i = 0; i < items; i++) {
        s1.add(t, v);
        v = v * (1 + ((Math.random() - 0.499) / 100.0));
        t = t.next();
    }

    final TimeSeriesCollection dataset = new TimeSeriesCollection(s1);
    dataset.setDomainIsPointsInTime(true);

    return dataset;

}