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

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

Introduction

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

Prototype

public TimeSeriesCollection() 

Source Link

Document

Constructs an empty dataset, tied to the default timezone.

Usage

From source file:binky.reportrunner.ui.actions.admin.GetAuditChartAction.java

@Override
@PreAuthorize("hasRole('ROLE_ADMIN')")
public String execute() throws Exception {

    // do some stuff and get a chart going
    // DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
    TimeSeriesCollection dataSet = new TimeSeriesCollection();
    List<RunnerHistoryEvent> events = auditService.getSuccessEvents(module, new Date(fromDate),
            new Date(toDate));
    Map<String, TimeSeries> serieses = new HashMap<String, TimeSeries>();
    for (RunnerHistoryEvent e : events) {
        TimeSeries s = serieses.get(e.getMethod());
        if (s == null) {
            s = new TimeSeries(e.getMethod());
            serieses.put(e.getMethod(), s);
        }/*from   ww w .j a v a 2 s.c om*/
        s.addOrUpdate(new Millisecond(e.getTimeStamp()), e.getRunTime());
    }
    for (TimeSeries s : serieses.values()) {
        dataSet.addSeries(s);
    }
    chart = ChartFactory.createTimeSeriesChart(module, "", "run time (ms)", dataSet, true, false, false);

    // .createLineChart("","","Run Time (ms)",dataSet,PlotOrientation.VERTICAL,
    // true,false,false);
    XYPlot linePlot = (XYPlot) chart.getPlot();
    linePlot.setDomainGridlinesVisible(true);
    linePlot.setRangeGridlinesVisible(true);
    linePlot.setRangeGridlinePaint(Color.black);
    linePlot.setDomainGridlinePaint(Color.black);
    TextTitle subTitle = new TextTitle("Successful Executions");
    subTitle.setFont(new Font("Arial", Font.ITALIC, 10));
    chart.addSubtitle(subTitle);
    chart.getTitle().setFont(new Font("Arial", Font.BOLD, 12));

    DateAxis axis = (DateAxis) linePlot.getDomainAxis();
    axis.setDateFormatOverride(new SimpleDateFormat("hh:mm:ss dd-MM-yyyy"));

    XYItemRenderer r = linePlot.getRenderer();
    if (r instanceof XYLineAndShapeRenderer) {
        XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;
        renderer.setBaseShapesVisible(true);
        renderer.setBaseShapesFilled(true);
    }
    chart.setAntiAlias(true);
    chart.setTextAntiAlias(true);
    return SUCCESS;
}

From source file:ws.moor.bt.gui.charts.ConnectionTypes.java

private TimeSeriesCollection getTimeSeriesCollection() {
    TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(seederSource.getTimeSeries());
    dataset.addSeries(leecherSource.getTimeSeries());
    return dataset;
}

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

private static XYDataset createDataset1() {
    TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();
    TimeSeries timeseries = new TimeSeries("Time Series 1");
    timeseries.add(new Hour(0, new Day()), 20214.5D);
    timeseries.add(new Hour(4, new Day()), 73346.5D);
    timeseries.add(new Hour(8, new Day()), 54643.599999999999D);
    timeseries.add(new Hour(12, new Day()), 92683.800000000003D);
    timeseries.add(new Hour(16, new Day()), 110235.39999999999D);
    timeseries.add(new Hour(20, new Day()), 120742.5D);
    timeseries.add(new Hour(24, new Day()), 90654.5D);
    timeseriescollection.addSeries(timeseries);
    return timeseriescollection;
}

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

/**
 * Creates a new {@link TimeSeriesCollection} containing a moving average
 * series for each series in the source collection.
 *
 * @param source  the source collection.
 * @param suffix  the suffix added to each source series name to create the
 *                corresponding moving average series name.
 * @param periodCount  the number of periods in the moving average
 *                     calculation./*from w  w w  .  ja v  a 2s.co m*/
 * @param skip  the number of initial periods to skip.
 *
 * @return A collection of moving average time series.
 */
public static TimeSeriesCollection createMovingAverage(TimeSeriesCollection source, String suffix,
        int periodCount, int skip) {

    ParamChecks.nullNotPermitted(source, "source");
    if (periodCount < 1) {
        throw new IllegalArgumentException("periodCount must be greater " + "than or equal to 1.");
    }

    TimeSeriesCollection result = new TimeSeriesCollection();
    for (int i = 0; i < source.getSeriesCount(); i++) {
        TimeSeries sourceSeries = source.getSeries(i);
        TimeSeries maSeries = createMovingAverage(sourceSeries, sourceSeries.getKey() + suffix, periodCount,
                skip);
        result.addSeries(maSeries);
    }
    return result;

}

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

private static IntervalXYDataset createDataset() {
    TimeSeries timeseries = new TimeSeries("Temperature");
    timeseries.add(new Day(1, 4, 2006), 14.5D);
    timeseries.add(new Day(2, 4, 2006), 11.5D);
    timeseries.add(new Day(3, 4, 2006), 13.699999999999999D);
    timeseries.add(new Day(4, 4, 2006), 10.5D);
    timeseries.add(new Day(5, 4, 2006), 14.9D);
    timeseries.add(new Day(6, 4, 2006), 15.699999999999999D);
    timeseries.add(new Day(7, 4, 2006), 11.5D);
    timeseries.add(new Day(8, 4, 2006), 9.5D);
    timeseries.add(new Day(9, 4, 2006), 10.9D);
    timeseries.add(new Day(10, 4, 2006), 14.1D);
    timeseries.add(new Day(11, 4, 2006), 12.300000000000001D);
    timeseries.add(new Day(12, 4, 2006), 14.300000000000001D);
    timeseries.add(new Day(13, 4, 2006), 19D);
    timeseries.add(new Day(14, 4, 2006), 17.899999999999999D);
    TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();
    timeseriescollection.addSeries(timeseries);
    return timeseriescollection;
}

From source file:ta4jexamples.indicators.CandlestickChart.java

/**
 * Builds an additional JFreeChart dataset from a ta4j time series.
 * @param series a time series/* ww w  .j  a  v  a2  s .co  m*/
 * @return an additional dataset
 */
private static TimeSeriesCollection createAdditionalDataset(TimeSeries series) {
    ClosePriceIndicator indicator = new ClosePriceIndicator(series);
    TimeSeriesCollection dataset = new TimeSeriesCollection();
    org.jfree.data.time.TimeSeries chartTimeSeries = new org.jfree.data.time.TimeSeries("Btc price");
    for (int i = 0; i < series.getTickCount(); i++) {
        Tick tick = series.getTick(i);
        chartTimeSeries.add(new Second(new Date(tick.getEndTime().toEpochSecond() * 1000)),
                indicator.getValue(i).toDouble());
    }
    dataset.addSeries(chartTimeSeries);
    return dataset;
}

From source file:com.stableapps.anglewraparounddemo.AngleWrapDemoMain.java

/**
 * Creates a sample dataset./* ww w  .ja  v a2 s.  c o  m*/
 *
 * @param count the item count.
 *
 * @return the dataset.
 */
private XYDataset createAngleDataset(final int count) {
    final TimeSeriesCollection dataset = new TimeSeriesCollection();
    final TimeSeries s1 = new TimeSeries("Angle (In Degrees)");
    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.45) * 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:old.MonitoringChart.java

private XYDataset createDataset() {
    cpuSeries = new TimeSeries("CPU Load", Millisecond.class);
    memorySeries = new TimeSeries("Memory Usage", Millisecond.class);
    diskSeries = new TimeSeries("Disk Usage", Millisecond.class);

    TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(cpuSeries);/* www  . j  a va 2  s  . c om*/
    dataset.addSeries(memorySeries);
    dataset.addSeries(diskSeries);

    return dataset;

}

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   ww w.j a  v  a 2 s  . c o  m*/

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

From source file:org.miloss.fgsms.services.rs.impl.reports.os.CpuUsageReport.java

@Override
public void generateReport(OutputStreamWriter data, List<String> urls, String path, List<String> files,
        TimeRange range, String currentuser, SecurityWrapper classification, WebServiceContext ctx)
        throws IOException {
    Connection con = Utility.getPerformanceDBConnection();
    try {//from   w ww.j  a  va2 s  .  c o m
        PreparedStatement cmd = null;
        ResultSet rs = null;
        JFreeChart chart = null;

        data.append("<hr /><h2>").append(GetDisplayName()).append("</h2>");
        data.append(GetHtmlFormattedHelp() + "<br />");
        data.append("<table class=\"table table-hover\"><tr><th>URI</th><th>Average CPU Usage %</th></tr>");

        TimeSeriesCollection col = new TimeSeriesCollection();
        for (int i = 0; i < urls.size(); i++) {
            if (!isPolicyTypeOf(urls.get(i), PolicyType.MACHINE)
                    && !isPolicyTypeOf(urls.get(i), PolicyType.PROCESS)) {
                continue;
            }
            //https://github.com/mil-oss/fgsms/issues/112
            if (!UserIdentityUtil.hasReadAccess(currentuser, "getReport", urls.get(i), classification, ctx)) {
                continue;
            }
            String url = Utility.encodeHTML(BaseReportGenerator.getPolicyDisplayName(urls.get(i)));
            data.append("<tr><td>").append(url).append("</td>");
            double average = 0;
            try {
                cmd = con.prepareStatement(
                        "select avg(percentcpu) from rawdatamachineprocess where uri=? and utcdatetime > ? and utcdatetime < ?;");
                cmd.setString(1, urls.get(i));
                cmd.setLong(2, range.getStart().getTimeInMillis());
                cmd.setLong(3, range.getEnd().getTimeInMillis());
                rs = cmd.executeQuery();
                if (rs.next()) {
                    average = rs.getDouble(1);

                }
            } catch (Exception ex) {
                log.log(Level.ERROR, "Error opening or querying the database.", ex);
            } finally {
                DBUtils.safeClose(rs);
                DBUtils.safeClose(cmd);
            }

            data.append("<td>").append(average + "").append("</td></tr>");
            TimeSeries ts = new TimeSeries(url, Millisecond.class);
            try {
                //ok now get the raw data....
                cmd = con.prepareStatement(
                        "select percentcpu,utcdatetime from rawdatamachineprocess where uri=? and utcdatetime > ? and utcdatetime < ?;");
                cmd.setString(1, urls.get(i));
                cmd.setLong(2, range.getStart().getTimeInMillis());
                cmd.setLong(3, range.getEnd().getTimeInMillis());
                rs = cmd.executeQuery();
                while (rs.next()) {
                    GregorianCalendar gcal = new GregorianCalendar();
                    gcal.setTimeInMillis(rs.getLong(2));
                    Millisecond m = new Millisecond(gcal.getTime());
                    ts.addOrUpdate(m, rs.getDouble(1));

                }
                col.addSeries(ts);

            } catch (Exception ex) {
                log.log(Level.ERROR, "Error opening or querying the database.", ex);
            } finally {
                DBUtils.safeClose(rs);
                DBUtils.safeClose(cmd);
            }

        }
        data.append("</table>");

        chart = org.jfree.chart.ChartFactory.createTimeSeriesChart(GetDisplayName(), "Timestamp", "Percent",
                col, true, false, false);

        try {
            ChartUtilities.saveChartAsPNG(new File(
                    path + getFilePathDelimitor() + "image_" + this.getClass().getSimpleName() + ".png"), chart,
                    1500, 400);
            data.append("<img src=\"image_").append(this.getClass().getSimpleName()).append(".png\">");
            files.add(path + getFilePathDelimitor() + "image_" + this.getClass().getSimpleName() + ".png");
            // }
        } catch (IOException ex) {
            log.log(Level.ERROR, "Error saving chart image for request", ex);
        }
    } catch (Exception ex) {
        log.log(Level.ERROR, null, ex);
    } finally {
        DBUtils.safeClose(con);
    }
}