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

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

Introduction

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

Prototype

public void setDomainIsPointsInTime(boolean flag) 

Source Link

Document

Sets a flag that controls whether the domain is treated as 'points in time', or time periods.

Usage

From source file:org.tolven.graph.GraphMenuEventHandler.java

private XYDataset createDataset() throws Exception {
    MenuPath elementPath = new MenuPath(getElement());
    MenuStructure dataMS = getAction().getParent();
    MenuPath mdPath = new MenuPath(dataMS.getPath(), elementPath);
    MenuQueryControl ctrl = new MenuQueryControl();
    ctrl.setLimit(5000); // TODO: This is a hard coded hard query limit that should be in a property or something
    ctrl.setMenuStructure(dataMS);//from  ww w . ja v  a 2s  . com
    ctrl.setAccountUser(getAccountUser());
    ctrl.setNow(getTolvenNow());
    ctrl.setOffset(0);
    ctrl.setOriginalTargetPath(mdPath);
    ctrl.setRequestedPath(mdPath);
    List<MenuData> menuData = getMenuBean().findMenuData(ctrl);
    Properties menuEventHandlerData = getAction().getMenuEventHandlerDataMap();
    String timeColumn = menuEventHandlerData.getProperty("timeColumn");
    String valueColumn = menuEventHandlerData.getProperty("valueColumn");
    String unitsColumn = menuEventHandlerData.getProperty("unitsColumn");
    String datasetColumn = menuEventHandlerData.getProperty("datasetColumn");
    String[] datasetUnitsArray = getRequest().getParameter("datasetunits").split(",");
    List<String> datasetUnits = new ArrayList<String>();
    for (String string : datasetUnitsArray) {
        datasetUnits.add(string);
    }
    Map<String, String[]> datasetUnitMap = createDatasetUnitsMap();
    Map<String, TimeSeries> timeSeriesMap = new HashMap<String, TimeSeries>();
    for (String[] datasetUnitArray : datasetUnitMap.values()) {
        String dataset = datasetUnitArray[0];
        String unit = datasetUnitArray[1];
        String datasetUnit = dataset + unit;
        if (datasetUnits.contains(datasetUnit)) {
            timeSeriesMap.put(datasetUnit, new TimeSeries(dataset + " (" + unit + ")", Hour.class));
        }
    }
    for (MenuData md : menuData) {
        String dataset = md.getStringField(datasetColumn);
        String units = md.getStringField(unitsColumn);
        String datasetUnit = dataset + units;
        TimeSeries currentTimeSeries = timeSeriesMap.get(datasetUnit);
        if (currentTimeSeries != null) {
            GregorianCalendar cal = new GregorianCalendar();
            cal.setTime(md.getDateField(timeColumn));
            Hour hour = new Hour(cal.getTime());
            currentTimeSeries.addOrUpdate(hour,
                    md.getInternalPQValueField(md.getColumn(valueColumn).getInternal()));

        }
    }
    TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection();
    for (TimeSeries timeSeries : timeSeriesMap.values()) {
        timeSeriesCollection.addSeries(timeSeries);
    }
    timeSeriesCollection.setDomainIsPointsInTime(true);
    TolvenLogger.info("Done preparing Dataset", GraphMenuEventHandler.class);
    return timeSeriesCollection;
}

From source file:dpnm.netmsuite.plc.manager.frontend.graph.TimeSeriesChartDemo1.java

/**
 * Creates a dataset, consisting of two series of monthly data.
 * @return The dataset./*from  w w w .j av a2s  .  c  om*/
 */
private XYDataset createDataset() {

    /*
     * each 5 seconds, the data updated...
     * 
     */
    String firstGraph = "";
    String secondGraph = "";

    if (graphType == 1) {
        firstGraph = "InPackets";
        secondGraph = "OutPackets";

        TimeSeries s1 = new TimeSeries(firstGraph, Second.class);
        for (int i = 1; i < statisticInfos.size(); i++) {
            StatisticInfo pastInfo = (StatisticInfo) statisticInfos.elementAt(i - 1);
            StatisticInfo oneInfo = (StatisticInfo) statisticInfos.elementAt(i);
            long timeStamp = oneInfo._timeStamp;
            long gap = (oneInfo._timeStamp - pastInfo._timeStamp) / 1000;
            gap = gap == 0 ? 1 : gap;
            Date date = new Date(timeStamp);
            long inPkts = oneInfo._inPkts - pastInfo._inPkts;
            if (inPkts < 0) {
                pastInfo._inPkts = oneInfo._inPkts + 2 ^ 32 - pastInfo._inPkts;
            }
            inPkts = inPkts / gap;
            s1.add(new Second(date), inPkts);
        }

        TimeSeries s2 = new TimeSeries(secondGraph, Second.class);
        for (int i = 1; i < statisticInfos.size(); i++) {
            StatisticInfo pastInfo = (StatisticInfo) statisticInfos.elementAt(i - 1);
            StatisticInfo oneInfo = (StatisticInfo) statisticInfos.elementAt(i);
            long timeStamp = oneInfo._timeStamp;
            long gap = (oneInfo._timeStamp - pastInfo._timeStamp) / 1000;
            gap = gap == 0 ? 1 : gap;
            Date date = new Date(timeStamp);
            long outPkts = oneInfo._outPkts - pastInfo._outPkts;
            if (outPkts < 0) {
                pastInfo._outPkts = oneInfo._outPkts + 2 ^ 32 - pastInfo._outPkts;
            }
            outPkts = outPkts / gap;
            s2.add(new Second(date), outPkts);
        }

        TimeSeriesCollection dataset = new TimeSeriesCollection();
        dataset.addSeries(s1);
        dataset.addSeries(s2);

        dataset.setDomainIsPointsInTime(true);
        return dataset;
    } else if (graphType == 2) {
        firstGraph = "InBytes";
        secondGraph = "OutBytes";

        TimeSeries s1 = new TimeSeries(firstGraph, Second.class);
        for (int i = 1; i < statisticInfos.size(); i++) {
            StatisticInfo pastInfo = (StatisticInfo) statisticInfos.elementAt(i - 1);
            StatisticInfo oneInfo = (StatisticInfo) statisticInfos.elementAt(i);
            long timeStamp = oneInfo._timeStamp;
            long gap = (oneInfo._timeStamp - pastInfo._timeStamp) / 1000;
            gap = gap == 0 ? 1 : gap;
            Date date = new Date(timeStamp);
            long _inBytes = oneInfo._inBytes - pastInfo._inBytes;
            if (_inBytes < 0) {
                pastInfo._inBytes = oneInfo._inBytes + 2 ^ 32 - pastInfo._inBytes;
            }
            _inBytes = _inBytes / gap;
            s1.add(new Second(date), _inBytes);
        }

        TimeSeries s2 = new TimeSeries(secondGraph, Second.class);
        for (int i = 1; i < statisticInfos.size(); i++) {
            StatisticInfo pastInfo = (StatisticInfo) statisticInfos.elementAt(i - 1);
            StatisticInfo oneInfo = (StatisticInfo) statisticInfos.elementAt(i);
            long timeStamp = oneInfo._timeStamp;
            long gap = (oneInfo._timeStamp - pastInfo._timeStamp) / 1000;
            gap = gap == 0 ? 1 : gap;
            Date date = new Date(timeStamp);
            long _outBytes = oneInfo._outBytes - pastInfo._outBytes;
            if (_outBytes < 0) {
                pastInfo._outBytes = oneInfo._outBytes + 2 ^ 32 - pastInfo._outBytes;
            }
            _outBytes = _outBytes / gap;
            s2.add(new Second(date), _outBytes);
        }

        TimeSeriesCollection dataset = new TimeSeriesCollection();
        dataset.addSeries(s1);
        dataset.addSeries(s2);

        dataset.setDomainIsPointsInTime(true);
        return dataset;
    } else if (graphType == 3) {
        firstGraph = "InSpeed";
        secondGraph = "OutSpeed";

        TimeSeries s1 = new TimeSeries(firstGraph, Second.class);
        for (int i = 1; i < statisticInfos.size(); i++) {
            StatisticInfo pastInfo = (StatisticInfo) statisticInfos.elementAt(i - 1);
            StatisticInfo oneInfo = (StatisticInfo) statisticInfos.elementAt(i);
            long timeStamp = oneInfo._timeStamp;
            Date date = new Date(timeStamp);
            long _inSpeed = oneInfo._inSpeed;
            s1.add(new Second(date), _inSpeed);
        }

        TimeSeries s2 = new TimeSeries(secondGraph, Second.class);
        for (int i = 1; i < statisticInfos.size(); i++) {
            StatisticInfo pastInfo = (StatisticInfo) statisticInfos.elementAt(i - 1);
            StatisticInfo oneInfo = (StatisticInfo) statisticInfos.elementAt(i);
            long timeStamp = oneInfo._timeStamp;
            Date date = new Date(timeStamp);
            long _outSpeed = oneInfo._outSpeed;

            s2.add(new Second(date), _outSpeed);
        }

        TimeSeriesCollection dataset = new TimeSeriesCollection();
        dataset.addSeries(s1);
        dataset.addSeries(s2);

        dataset.setDomainIsPointsInTime(true);
        return dataset;
    } else {
        firstGraph = "Not Defiend";
        secondGraph = "Not Defiend";
        return null;
    }
}

From source file:edu.unibonn.kmeans.mapreduce.plotting.TimeSeriesPlotter_KMeans.java

/**
  * Creates a dataset, consisting of two series of monthly data.
  *//from ww  w  .j ava  2s.  c  o  m
  * @return the dataset.
  */
private XYDataset createDataset() {

    final TimeSeries s1 = new TimeSeries("L&G European Index Trust", Month.class);
    s1.add(new Month(2, 2001), 181.8);
    s1.add(new Month(3, 2001), 167.3);
    s1.add(new Month(4, 2001), 153.8);
    s1.add(new Month(5, 2001), 167.6);
    s1.add(new Month(6, 2001), 158.8);
    s1.add(new Month(7, 2001), 148.3);
    s1.add(new Month(8, 2001), 153.9);
    s1.add(new Month(9, 2001), 142.7);
    s1.add(new Month(10, 2001), 123.2);
    s1.add(new Month(11, 2001), 131.8);
    s1.add(new Month(12, 2001), 139.6);
    s1.add(new Month(1, 2002), 142.9);
    s1.add(new Month(2, 2002), 138.7);
    s1.add(new Month(3, 2002), 137.3);
    s1.add(new Month(4, 2002), 143.9);
    s1.add(new Month(5, 2002), 139.8);
    s1.add(new Month(6, 2002), 137.0);
    s1.add(new Month(7, 2002), 132.8);

    final TimeSeries s2 = new TimeSeries("L&G UK Index Trust", Month.class);
    s2.add(new Month(2, 2001), 129.6);
    s2.add(new Month(3, 2001), 123.2);
    s2.add(new Month(4, 2001), 117.2);
    s2.add(new Month(5, 2001), 124.1);
    s2.add(new Month(6, 2001), 122.6);
    s2.add(new Month(7, 2001), 119.2);
    s2.add(new Month(8, 2001), 116.5);
    s2.add(new Month(9, 2001), 112.7);
    s2.add(new Month(10, 2001), 101.5);
    s2.add(new Month(11, 2001), 106.1);
    s2.add(new Month(12, 2001), 110.3);
    s2.add(new Month(1, 2002), 111.7);
    s2.add(new Month(2, 2002), 111.0);
    s2.add(new Month(3, 2002), 109.6);
    s2.add(new Month(4, 2002), 113.2);
    s2.add(new Month(5, 2002), 111.6);
    s2.add(new Month(6, 2002), 108.8);
    s2.add(new Month(7, 2002), 101.6);

    final TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(s1);
    dataset.addSeries(s2);

    dataset.setDomainIsPointsInTime(true);

    return dataset;

}

From source file:org.n52.oxf.render.sos.TimeSeriesMapChartRenderer.java

/**
 * The resulting chart consists a TimeSeries for each FeatureOfInterest contained in the
 * observationCollection.//from  w w  w .  j av a2s  . c o m
 * 
 * @param foiIdArray
 *        the IDs of the FeaturesOfInterest whose Observations shall be rendered
 * @param observationCollection
 * @return
 */
protected XYPlot drawChart4FOI(String foiID, Map<ITimePosition, ObservedValueTuple> timeMap) {

    TimeSeriesCollection dataset = new TimeSeriesCollection();
    TimeSeries timeSeries = new TimeSeries(foiID, Second.class);

    for (ITimePosition timePos : timeMap.keySet()) {
        Number value = (Number) timeMap.get(timePos).getValue(0);
        timeSeries.add(
                new Second(new Float(timePos.getSecond()).intValue(), timePos.getMinute(), timePos.getHour(),
                        timePos.getDay(), timePos.getMonth(), new Long(timePos.getYear()).intValue()),
                value);
    }

    dataset.addSeries(timeSeries);
    dataset.setDomainIsPointsInTime(true);

    //
    // create Plot:
    //

    XYPlot plot = new XYPlot();

    plot.setDataset(dataset);
    plot.setBackgroundPaint(Color.white);

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setBaseShapesVisible(false);
    plot.setRenderer(renderer);

    DateAxis dateAxis = new DateAxis();
    dateAxis.setTickMarkPosition(DateTickMarkPosition.START);
    dateAxis.setTickMarksVisible(true);
    dateAxis.setVerticalTickLabels(true);
    dateAxis.setDateFormatOverride(new SimpleDateFormat("dd'.'MM'.'"));
    plot.setDomainAxis(dateAxis);

    plot.setRangeAxis(new NumberAxis());

    return plot;
}

From source file:edu.unibonn.plotting.TimeSeriesPlotter_Sensors.java

private XYDataset createDataset(ArrayList<Sensor> sensors) {
    final TimeSeriesCollection dataset = new TimeSeriesCollection();

    for (int i = 0; i < sensors.size(); i++) {
        Sensor current_sensor = sensors.get(i);

        final TimeSeries s1 = new TimeSeries("Sensor " + i, Hour.class);

        for (int j = 0; j < current_sensor.getDimensions(); j++) {
            LocalDateTime current_record_time = current_sensor.getInitial_record_time().plusHours(j);
            s1.add(new Hour(current_record_time.getHour(), current_record_time.getDayOfMonth(),
                    current_record_time.getMonthValue(), current_record_time.getYear()),
                    current_sensor.getMeasurement(j));
        }/* w ww . j av a  2  s. co  m*/

        dataset.addSeries(s1);
    }

    dataset.setDomainIsPointsInTime(true);

    return dataset;
}

From source file:edu.unibonn.kmeans.mapreduce.plotting.TimeSeriesPlotter_KMeans.java

private XYDataset createDataset_centroids(ArrayList<Cluster_KMeans> clusters, LocalDateTime from) {
    final TimeSeriesCollection dataset = new TimeSeriesCollection();

    for (int i = 0; i < clusters.size(); i++) {
        Cluster_KMeans current_cluster = clusters.get(i);
        double[] center_of_mass = current_cluster.getCenter_of_mass();

        final TimeSeries s1 = new TimeSeries("Cluster_" + current_cluster.getCluster_id(), Hour.class);

        for (int j = 0; j < 24; j++) {
            s1.add(new Hour(j, from.getDayOfMonth(), from.getMonthValue(), from.getYear()), center_of_mass[j]);
        }/*ww  w. j a  v a2  s  .c o  m*/

        dataset.addSeries(s1);
    }

    dataset.setDomainIsPointsInTime(true);

    return dataset;
}

From source file:org.n52.oxf.render.sos.TimeSeriesChartRenderer4xPhenomenons.java

protected TimeSeriesCollection createDataset(String[] foiIdArray, ObservationSeriesCollection tuples4FOI,
        int observedPropertyIndex) {
    TimeSeriesCollection dataset = new TimeSeriesCollection();

    for (String featureID : foiIdArray) {
        Map<ITimePosition, ObservedValueTuple> tupleMap = tuples4FOI.getAllTuples(featureID);

        if (tupleMap != null) {

            // for each selected <feature,observedPropertyIndex> pair construct a new TimeSeries:
            TimeSeries timeSeries = new TimeSeries(
                    featureID + "___" + this.observedProperties[observedPropertyIndex], Second.class);

            for (ITimePosition timePos : tupleMap.keySet()) {
                ObservedValueTuple tuple = tupleMap.get(timePos);

                Number result = (Number) tuple.getValue(observedPropertyIndex);

                timeSeries.add(new Second(new Float(timePos.getSecond()).intValue(), timePos.getMinute(),
                        timePos.getHour(), timePos.getDay(), timePos.getMonth(),
                        new Long(timePos.getYear()).intValue()), result);
            }/*from w w w  .j a  v  a  2  s.c o m*/
            dataset.addSeries(timeSeries);
        }
    }
    dataset.setDomainIsPointsInTime(true);

    return dataset;
}

From source file:org.n52.oxf.render.sos.TimeSeriesChartRenderer.java

public JFreeChart renderChart(OXFFeatureCollection observationCollection, ParameterContainer paramCon) {
    String[] observedProperties;//from ww w. j a va 2s.c  om
    // which observedProperty has been used?:
    ParameterShell observedPropertyPS = paramCon.getParameterShellWithServiceSidedName("observedProperty");
    if (observedPropertyPS.hasMultipleSpecifiedValues()) {
        observedProperties = observedPropertyPS.getSpecifiedTypedValueArray(String[].class);
    } else if (observedPropertyPS.hasSingleSpecifiedValue()) {
        observedProperties = new String[] { (String) observedPropertyPS.getSpecifiedValue() };
    } else {
        throw new IllegalArgumentException("no observedProperties found.");
    }

    phenomenon = observedProperties[0];

    String[] foiIdArray = paramCon.getParameterShellWithServiceSidedName("featureOfInterest")
            .getSpecifiedTypedValueArray(String[].class);

    TimeSeriesCollection dataset = new TimeSeriesCollection();

    ObservationSeriesCollection tuples4FOI = new ObservationSeriesCollection(observationCollection, foiIdArray,
            observedProperties, true);

    for (String featureID : foiIdArray) {
        Map<ITimePosition, ObservedValueTuple> tupleMap = tuples4FOI.getAllTuples(featureID);

        // for each selected feature construct a new TimeSeries:
        TimeSeries timeSeries = new TimeSeries(featureID, Second.class);

        if (tupleMap != null) {

            for (ITimePosition timePos : tupleMap.keySet()) {
                ObservedValueTuple tuple = tupleMap.get(timePos);

                double measurement = (Double) tuple.getValue(0);

                timeSeries.add(new Second(new Float(timePos.getSecond()).intValue(), timePos.getMinute(),
                        timePos.getHour(), timePos.getDay(), timePos.getMonth(),
                        new Long(timePos.getYear()).intValue()), measurement);
            }
            dataset.addSeries(timeSeries);
        }
    }
    dataset.setDomainIsPointsInTime(true);

    return drawChart(dataset);
}

From source file:ucar.unidata.idv.control.chart.TimeSeriesChart.java

/**
 * Add the series/*from   w w  w . j a va 2  s  . c o  m*/
 *
 *
 * @param series The data
 * @param lineState describes how to draw the line
 * @param paramIdx which parameter
 * @param renderer renderer
 * @param rangeVisible  do we show range axis
 * @param addAxis include the axis
 *
 * @return the newly created range axis
 */
protected Axis addSeries(TimeSeries series, LineState lineState, int paramIdx, XYItemRenderer renderer,
        boolean rangeVisible, boolean addAxis) {

    if (series instanceof MyTimeSeries) {
        ((MyTimeSeries) series).finish();
    }

    if (addAxis && (lineState.getRange() != null)) {
        addRange(lineState.getRange().getMin(), lineState.getRange().getMax(),
                "Fixed range from: " + lineState.getName());
    }

    if (numberFormat == null) {
        numberFormat = new DecimalFormat() {
            public StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition) {
                String s = control.getDisplayConventions().format(number);
                result.append(s);

                return result;
            }
        };

    }

    String name = lineState.getName();
    Unit unit = lineState.unit;
    TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.setDomainIsPointsInTime(true);
    dataset.addSeries(series);

    String axisLabel = lineState.getAxisLabel();
    if (axisLabel == null) {
        axisLabel = name + ((unit != null) ? " [" + unit + "]" : "");
    }
    NumberAxis rangeAxis;

    if (lineState.getUseLogarithmicRange() && false) {
        rangeAxis = new FixedWidthLogarithmicAxis(axisLabel);
    } else {
        rangeAxis = new FixedWidthNumberAxis(axisLabel);
        ((NumberAxis) rangeAxis).setAutoRangeIncludesZero(lineState.getRangeIncludesZero());
    }

    //For now lets use the default number formatting for the range
    //        rangeAxis.setNumberFormatOverride(numberFormat);

    rangeAxis.setVisible(rangeVisible);

    ucar.unidata.util.Range r = lineState.getRange();
    if (r != null) {
        rangeAxis.setRange(new org.jfree.data.Range(r.getMin(), r.getMax()));
    }

    if (renderer == null) {
        renderer = getRenderer(lineState, addAxis);
    }

    Paint c = lineState.getColor(paramIdx);
    rangeAxis.setLabelPaint(Color.black);
    renderer.setSeriesPaint(0, c);
    renderer.setSeriesStroke(0, lineState.getStroke());
    renderer.setSeriesVisibleInLegend(0, lineState.getVisibleInLegend());

    if (!lineState.getAxisVisible()) {
        rangeAxis.setVisible(false);
    } else {
        rangeAxis.setVisible(addAxis);
    }

    ChartHolder chartHolder = getChartHolder(lineState);

    AxisLocation side = null;
    if (rangeAxis.isVisible()) {
        if (lineState.getSide() == LineState.SIDE_UNDEFINED) {
            if (chartHolder.lastSide == AxisLocation.TOP_OR_LEFT) {
                side = AxisLocation.BOTTOM_OR_RIGHT;
            } else {
                side = AxisLocation.TOP_OR_LEFT;
            }
        } else if (lineState.getSide() == LineState.SIDE_LEFT) {
            side = AxisLocation.TOP_OR_LEFT;
        } else {
            side = AxisLocation.BOTTOM_OR_RIGHT;
        }
        chartHolder.lastSide = side;
    }

    synchronized (MUTEX) {
        chartHolder.add(dataset, rangeAxis, renderer, side);
    }

    return rangeAxis;
}

From source file:edu.unibonn.plotting.TimeSeriesPlotter_Sensors.java

private XYDataset createDataset(ArrayList<Cluster_KMeans> clusters, LocalDateTime from) {
    final TimeSeriesCollection dataset = new TimeSeriesCollection();

    for (int i = 0; i < clusters.size(); i++) {
        Cluster_KMeans current_cluster = clusters.get(i);
        ArrayList<Sensor> member_time_series = current_cluster.getMembership();

        for (Iterator iterator = member_time_series.iterator(); iterator.hasNext();) {
            final TimeSeries s1 = new TimeSeries("Cluster_" + current_cluster.getCluster_id(), Hour.class);

            Sensor current_series = (Sensor) iterator.next();

            for (int j = 0; j < current_series.getDimensions(); j++) {
                LocalDateTime current_record_time = current_series.getInitial_record_time().plusHours(j);
                s1.add(new Hour(current_record_time.getHour(), current_record_time.getDayOfMonth(),
                        current_record_time.getMonthValue(), current_record_time.getYear()),
                        current_series.getMeasurement(j));
            }//  w w  w.  j ava  2  s  .co  m

            dataset.addSeries(s1);
        }
    }

    dataset.setDomainIsPointsInTime(true);

    return dataset;
}