Example usage for org.jfree.data.time TimeSeries TimeSeries

List of usage examples for org.jfree.data.time TimeSeries TimeSeries

Introduction

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

Prototype

public TimeSeries(Comparable name, Class timePeriodClass) 

Source Link

Document

Creates a new (empty) time series with the specified name and class of RegularTimePeriod .

Usage

From source file:org.posterita.core.TimeSeriesChart.java

public void getTimeSeriesFromSQL(String sql, String key) throws OperationException {
    PreparedStatement pstmt = DB.prepareStatement(sql, null);

    ArrayList<Object[]> dataSource = ReportManager.getReportData(pstmt);
    TimeSeries series = new TimeSeries(key, Day.class);
    int count = 0;

    for (Object[] data : dataSource) {
        if (data.length != 2)
            throw new OperationException(
                    "Unable to generate timeseries. Cause:Invalid sql, the return resultset must have 2 columns only");

        count++;//from   www  .ja va  2 s . c o m
        if (count == 1)
            continue;

        series.add(new Day((Date) data[0]), (BigDecimal) data[1]);
    }

    pstmt = null;
    addSeries(series);
}

From source file:de.tsystems.mms.apm.performancesignature.PerfSigBuildActionResultsDisplay.java

private XYDataset buildTimeSeriesDataSet(final StaplerRequest request) {
    final String measure = request.getParameter(Messages.PerfSigBuildActionResultsDisplay_ReqParamMeasure());
    final String chartDashlet = request
            .getParameter(Messages.PerfSigBuildActionResultsDisplay_ReqParamChartDashlet());
    final String testCase = request.getParameter(Messages.PerfSigBuildActionResultsDisplay_ReqParamTestCase());
    final TimeSeries timeSeries = new TimeSeries(chartDashlet, Second.class);

    final DashboardReport dashboardReport = getDashBoardReport(testCase);
    final Measure m = dashboardReport.getMeasure(chartDashlet, measure);
    if (m == null || m.getMeasurements() == null)
        return null;

    for (Measurement measurement : m.getMeasurements()) {
        timeSeries.add(new Second(new Date(measurement.getTimestamp())),
                measurement.getMetricValue(m.getAggregation()));
    }/*from w w  w. jav  a  2s.c om*/
    return new TimeSeriesCollection(timeSeries);
}

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  ww  .  ja v  a 2  s  . c  o  m*/
 */
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:org.jivesoftware.openfire.reporting.graph.GraphEngine.java

private XYDataset populateData(String key, Statistic[] def, long startTime, long endTime, int dataPoints) {
    double[][] values = statsViewer.getData(key, startTime, endTime, dataPoints);
    long timePeriod = endTime - startTime;
    TimeSeries[] series = new TimeSeries[values.length];
    TimeSeriesCollection dataSet = new TimeSeriesCollection();

    for (int d = 0; d < values.length; d++) {
        series[d] = new TimeSeries(def[d].getName(), getTimePeriodClass(timePeriod));
        Statistic.Type type = def[d].getStatType();

        long interval = timePeriod / values[d].length;
        for (int i = 0; i < values[d].length; i++) {
            series[d].addOrUpdate(//from w w w . j a v a 2 s .c  o m
                    getTimePeriod(timePeriod, new Date(startTime + (i * interval)), JiveGlobals.getTimeZone()),
                    cleanData(type, values[d][i]));
        }
        dataSet.addSeries(series[d]);
    }
    return dataSet;
}

From source file:org.openmrs.web.controller.ConceptStatsFormController.java

/**
 * Called prior to form display. Allows for data to be put in the request to be used in the view
 *
 * @see org.springframework.web.servlet.mvc.SimpleFormController#referenceData(javax.servlet.http.HttpServletRequest)
 *//*w  ww .ja v  a2s .  co m*/
protected Map<String, Object> referenceData(HttpServletRequest request) throws Exception {

    Map<String, Object> map = new HashMap<String, Object>();
    if (!Context.hasPrivilege("View Observations")) {
        return map;
    }

    MessageSourceAccessor msa = getMessageSourceAccessor();
    Locale locale = Context.getLocale();
    ConceptService cs = Context.getConceptService();
    String conceptId = request.getParameter("conceptId");
    //List<Obs> obs = new Vector<Obs>();
    //List<Obs> obsAnswered = new Vector<Obs>();

    if (conceptId != null) {
        Concept concept = cs.getConcept(Integer.valueOf(conceptId));
        ObsService obsService = Context.getObsService();

        if (concept != null) {

            // previous/next ids for links
            map.put("previousConcept", cs.getPrevConcept(concept));
            map.put("nextConcept", cs.getNextConcept(concept));

            //obs = obsService.getObservations(concept, "valueNumeric, obsId");
            //obsAnswered = obsService.getObservationsAnsweredByConcept(concept);

            if (ConceptDatatype.NUMERIC.equals(concept.getDatatype().getHl7Abbreviation())) {
                map.put("displayType", "numeric");

                List<Obs> numericAnswers = obsService.getObservations(null, null,
                        Collections.singletonList(concept), null,
                        Collections.singletonList(OpenmrsConstants.PERSON_TYPE.PERSON), null,
                        Collections.singletonList("valueNumeric"), null, null, null, null, false);

                if (numericAnswers.size() > 0) {
                    Double min = numericAnswers.get(0).getValueNumeric();
                    Double max = (Double) numericAnswers.get(numericAnswers.size() - 1).getValueNumeric();
                    Double median = (Double) numericAnswers.get(numericAnswers.size() / 2).getValueNumeric();

                    Map<Double, Integer> counts = new HashMap<Double, Integer>(); // counts for the histogram
                    Double total = 0.0; // sum of values. used for mean

                    // dataset setup for lineChart
                    TimeSeries timeSeries = new TimeSeries(concept.getName().getName(), Day.class);
                    TimeSeriesCollection timeDataset = new TimeSeriesCollection();
                    Calendar calendar = Calendar.getInstance();

                    // array for histogram
                    double[] obsNumerics = new double[(numericAnswers.size())];

                    Integer i = 0;
                    for (Obs obs : numericAnswers) {
                        Date date = (Date) obs.getObsDatetime();
                        Double value = (Double) obs.getValueNumeric();

                        // for mean calculation
                        total += value;

                        // for histogram
                        obsNumerics[i++] = value;
                        Integer count = counts.get(value);
                        counts.put(value, count == null ? 1 : count + 1);

                        // for line chart
                        calendar.setTime(date);
                        Day day = new Day(calendar.get(Calendar.DAY_OF_MONTH), calendar.get(Calendar.MONTH) + 1, // January = 0 
                                calendar.get(Calendar.YEAR) < 1900 ? 1900 : calendar.get(Calendar.YEAR) // jfree chart doesn't like the 19th century
                        );
                        timeSeries.addOrUpdate(day, value);
                    }

                    Double size = new Double(numericAnswers.size());
                    Double mean = total / size;

                    map.put("size", numericAnswers.size());
                    map.put("min", min);
                    map.put("max", max);
                    map.put("mean", mean);
                    map.put("median", median);

                    // create histogram chart
                    HistogramDataset histDataset = new HistogramDataset(); // dataset for histogram
                    histDataset.addSeries(concept.getName().getName(), obsNumerics, counts.size());

                    JFreeChart histogram = ChartFactory.createHistogram(concept.getName().getName(),
                            msa.getMessage("Concept.stats.histogramDomainAxisTitle"),
                            msa.getMessage("Concept.stats.histogramRangeAxisTitle"), histDataset,
                            PlotOrientation.VERTICAL, false, true, false);
                    map.put("histogram", histogram);

                    if (size > 25) {
                        // calculate 98th percentile of the data:
                        Double x = 0.98;
                        Integer xpercentile = (int) (x * size);
                        Double upperQuartile = numericAnswers.get(xpercentile).getValueNumeric();
                        Double lowerQuartile = numericAnswers.get((int) (size - xpercentile)).getValueNumeric();
                        Double innerQuartile = upperQuartile - lowerQuartile;
                        Double innerQuartileLimit = innerQuartile * 1.5; // outliers will be greater than this from the upper/lower quartile
                        Double upperQuartileLimit = upperQuartile + innerQuartileLimit;
                        Double lowerQuartileLimit = lowerQuartile - innerQuartileLimit;

                        List<Obs> outliers = new Vector<Obs>();

                        // move outliers to the outliers list
                        // removing lower quartile outliers
                        for (i = 0; i < size - xpercentile; i++) {
                            Obs possibleOutlier = numericAnswers.get(i);
                            if (possibleOutlier.getValueNumeric() >= lowerQuartileLimit) {
                                break; // quit if this value is greater than the lower limit
                            }
                            outliers.add(possibleOutlier);
                        }

                        // removing upper quartile outliers
                        for (i = size.intValue() - 1; i >= xpercentile; i--) {
                            Obs possibleOutlier = numericAnswers.get(i);
                            if (possibleOutlier.getValueNumeric() <= upperQuartileLimit) {
                                break; // quit if this value is less than the upper limit
                            }
                            outliers.add(possibleOutlier);
                        }
                        numericAnswers.removeAll(outliers);

                        double[] obsNumericsOutliers = new double[(numericAnswers.size())];
                        i = 0;
                        counts.clear();
                        for (Obs values : numericAnswers) {
                            Double value = values.getValueNumeric();
                            obsNumericsOutliers[i++] = value;
                            Integer count = counts.get(value);
                            counts.put(value, count == null ? 1 : count + 1);
                        }

                        // create outlier histogram chart
                        HistogramDataset outlierHistDataset = new HistogramDataset();
                        outlierHistDataset.addSeries(concept.getName().getName(), obsNumericsOutliers,
                                counts.size());

                        JFreeChart histogramOutliers = ChartFactory.createHistogram(concept.getName().getName(),
                                msa.getMessage("Concept.stats.histogramDomainAxisTitle"),
                                msa.getMessage("Concept.stats.histogramRangeAxisTitle"), outlierHistDataset,
                                PlotOrientation.VERTICAL, false, true, false);
                        map.put("histogramOutliers", histogramOutliers);
                        map.put("outliers", outliers);

                    }

                    // create line graph chart
                    timeDataset.addSeries(timeSeries);
                    JFreeChart lineChart = ChartFactory.createTimeSeriesChart(concept.getName().getName(),
                            msa.getMessage("Concept.stats.lineChartDomainAxisLabel"),
                            msa.getMessage("Concept.stats.lineChartRangeAxisLabel"), timeDataset, false, true,
                            false);
                    map.put("timeSeries", lineChart);

                }
            } else if (ConceptDatatype.BOOLEAN.equals(concept.getDatatype().getHl7Abbreviation())) {
                // create bar chart for boolean answers
                map.put("displayType", "boolean");

                List<Obs> obs = obsService.getObservations(null, null, Collections.singletonList(concept), null,
                        Collections.singletonList(OpenmrsConstants.PERSON_TYPE.PERSON), null, null, null, null,
                        null, null, false);

                DefaultPieDataset pieDataset = new DefaultPieDataset();

                // count the number of unique answers
                Map<String, Integer> counts = new HashMap<String, Integer>();
                for (Obs o : obs) {
                    Boolean answer = o.getValueAsBoolean();
                    if (answer == null) {
                        answer = false;
                    }
                    String name = answer.toString();
                    Integer count = counts.get(name);
                    counts.put(name, count == null ? 1 : count + 1);
                }

                // put the counts into the dataset
                for (Map.Entry<String, Integer> entry : counts.entrySet()) {
                    pieDataset.setValue(entry.getKey(), entry.getValue());
                }

                JFreeChart pieChart = ChartFactory.createPieChart(concept.getName().getName(), pieDataset, true,
                        true, false);
                map.put("pieChart", pieChart);

            } else if (ConceptDatatype.CODED.equals(concept.getDatatype().getHl7Abbreviation())) {
                // create pie graph for coded answers
                map.put("displayType", "coded");

                List<Obs> obs = obsService.getObservations(null, null, Collections.singletonList(concept), null,
                        Collections.singletonList(OpenmrsConstants.PERSON_TYPE.PERSON), null, null, null, null,
                        null, null, false);

                DefaultPieDataset pieDataset = new DefaultPieDataset();

                // count the number of unique answers
                Map<String, Integer> counts = new HashMap<String, Integer>();
                for (Obs o : obs) {
                    Concept value = o.getValueCoded();
                    String name;
                    if (value == null) {
                        name = "[value_coded is null]";
                    } else {
                        name = value.getName().getName();
                    }
                    Integer count = counts.get(name);
                    counts.put(name, count == null ? 1 : count + 1);
                }

                // put the counts into the dataset
                for (Map.Entry<String, Integer> entry : counts.entrySet()) {
                    pieDataset.setValue(entry.getKey(), entry.getValue());
                }

                JFreeChart pieChart = ChartFactory.createPieChart(concept.getName().getName(), pieDataset, true,
                        true, false);
                map.put("pieChart", pieChart);

            }
        }

    }

    //map.put("obs", obs);
    //map.put("obsAnswered", obsAnswered);

    map.put("locale", locale.getLanguage().substring(0, 2));

    return map;
}

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 ww w .j  a  v  a2 s .c o  m
            dataset.addSeries(timeSeries);
        }
    }
    dataset.setDomainIsPointsInTime(true);

    return dataset;
}

From source file:com.devoteam.srit.xmlloader.core.report.derived.DerivedCounter.java

public JFreeChart getTimeChart() {
    double[] graphTable = this.counter.graphDataset.getGraphArray();

    double[] weightTable = null;
    if (this instanceof StatValue) {
        weightTable = ((StatValue) this).eventCounter.graphDataset.getGraphArray();
    }/*from   www  .  jav a 2  s .  com*/

    TimeSeries timeSeries = new TimeSeries("", FixedMillisecond.class);

    double hits = 0;

    long offset;
    boolean absoluteDate = Config.getConfigByName("tester.properties").getBoolean("stats.CHARTS_ABSOLUTE_DATE",
            false);
    if (absoluteDate) {
        offset = reportZeroTimestamp;
    } else {
        offset = 0;
    }
    for (int i = 0; i < graphTable.length; i++) {
        long timestamp = offset + i * this.counter.graphDataset.graphParameters.graphPeriod;
        timeSeries.add(new FixedMillisecond(timestamp), graphTable[i], false);
    }

    JFreeChart chart = ChartFactory.createXYAreaChart(null, // chart title
            null, // domain axis label
            null, // range axis label
            new TimeSeriesCollection(timeSeries), // data
            PlotOrientation.VERTICAL, // orientation
            false, // include legend
            false, // tooltips
            false // urls
    );
    if (null != mean && null != std_dv) {
        chart.getXYPlot().addRangeMarker(new ValueMarker(mean));
        IntervalMarker intervalMarker = new IntervalMarker(mean - std_dv / 2, mean + std_dv / 2);
        intervalMarker.setAlpha(0.3f);
        chart.getXYPlot().addRangeMarker(intervalMarker);
    }

    chart.getXYPlot().setDomainAxis(new DateAxis());
    DateAxis axis = (DateAxis) chart.getXYPlot().getDomainAxis();
    DateFormat dateFormat;

    if (absoluteDate) {
        dateFormat = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss");
        axis.setVerticalTickLabels(true);
    } else {
        dateFormat = new SimpleDateFormat("HH:mm:ss");
        dateFormat.setTimeZone(new SimpleTimeZone(0, "GMT"));
    }
    axis.setDateFormatOverride(dateFormat);

    chart.setBackgroundPaint(Color.WHITE);
    return chart;
}

From source file:org.activequant.util.charting.Chart.java

/**
 * method to add a dot chart./*from   w  w w.  ja  va2s.  c om*/
 * @param title
 * @param dateAndValues
 */
public void addDotSeriesChart(String title, List<Tuple<TimeStamp, Double>> dateAndValues) {

    if (chart != null) {
        //
        final TimeSeries ts = new TimeSeries(title, Millisecond.class);
        for (Tuple<TimeStamp, Double> tuple : dateAndValues) {
            //
            TimeSeriesDataItem item = new TimeSeriesDataItem(new Millisecond(tuple.getObject1().getDate()),
                    tuple.getObject2());
            ts.addOrUpdate(item.getPeriod(), item.getValue());
        }

        datasets.add(ts);
        final TimeSeriesCollection dataset = new TimeSeriesCollection(ts);

        final XYPlot plot1 = chart.getXYPlot();

        final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
        renderer.setShapesVisible(true);
        renderer.setLinesVisible(false);
        plot1.setDataset(datasets.size(), dataset);
        plot1.setRenderer(datasets.size(), renderer);
    }
}

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

/**
 * Creates a sample dataset.//  w w  w.  j av  a  2s.co m
 *
 * @return Series 2.
 */
private XYDataset createDataset2() {

    // create dataset 2...
    final TimeSeries series2 = new TimeSeries("Series 2", Day.class);

    series2.add(new Day(3, SerialDate.MARCH, 2002), 16853.2);
    series2.add(new Day(4, SerialDate.MARCH, 2002), 19642.3);
    series2.add(new Day(5, SerialDate.MARCH, 2002), 18253.5);
    series2.add(new Day(6, SerialDate.MARCH, 2002), 15352.3);
    series2.add(new Day(7, SerialDate.MARCH, 2002), 13532.0);
    series2.add(new Day(8, SerialDate.MARCH, 2002), 12635.3);
    series2.add(new Day(9, SerialDate.MARCH, 2002), 13998.2);
    series2.add(new Day(10, SerialDate.MARCH, 2002), 11943.2);
    series2.add(new Day(11, SerialDate.MARCH, 2002), 16943.9);
    series2.add(new Day(12, SerialDate.MARCH, 2002), 17843.2);
    series2.add(new Day(13, SerialDate.MARCH, 2002), 16495.3);
    series2.add(new Day(14, SerialDate.MARCH, 2002), 17943.6);
    series2.add(new Day(15, SerialDate.MARCH, 2002), 18500.7);
    series2.add(new Day(16, SerialDate.MARCH, 2002), 19595.9);

    return new TimeSeriesCollection(series2);

}

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

/**
 * Creates a sample dataset.//from  ww  w. j  a v  a 2 s .c  om
 *
 * @return The dataset.
 */
private XYDataset createDataset2() {

    // create dataset 2...
    final TimeSeries series2 = new TimeSeries("Series 2", Day.class);

    series2.add(new Day(3, SerialDate.MARCH, 2002), 16853.2);
    series2.add(new Day(4, SerialDate.MARCH, 2002), 19642.3);
    series2.add(new Day(5, SerialDate.MARCH, 2002), 18253.5);
    series2.add(new Day(6, SerialDate.MARCH, 2002), 15352.3);
    series2.add(new Day(7, SerialDate.MARCH, 2002), 13532.0);
    series2.add(new Day(8, SerialDate.MARCH, 2002), 12635.3);
    series2.add(new Day(9, SerialDate.MARCH, 2002), 13998.2);
    series2.add(new Day(10, SerialDate.MARCH, 2002), 11943.2);
    series2.add(new Day(11, SerialDate.MARCH, 2002), 16943.9);
    series2.add(new Day(12, SerialDate.MARCH, 2002), 17843.2);
    series2.add(new Day(13, SerialDate.MARCH, 2002), 16495.3);
    series2.add(new Day(14, SerialDate.MARCH, 2002), 17943.6);
    series2.add(new Day(15, SerialDate.MARCH, 2002), 18500.7);
    series2.add(new Day(16, SerialDate.MARCH, 2002), 19595.9);

    final TimeSeriesCollection tsc = new TimeSeriesCollection(series2);
    return tsc;

}