List of usage examples for org.jfree.data.time TimeSeriesCollection TimeSeriesCollection
public TimeSeriesCollection()
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); } }