List of usage examples for org.jfree.data.time TimeSeriesDataItem TimeSeriesDataItem
public TimeSeriesDataItem(RegularTimePeriod period, double value)
From source file:org.jfree.data.time.TimeSeriesDataItemTest.java
/** * Test that an instance is equal to itself. * * SourceForge Bug ID: 558850./* w ww .j a v a 2s . com*/ */ @Test public void testEqualsSelf() { TimeSeriesDataItem item = new TimeSeriesDataItem(new Day(23, 9, 2001), 99.7); assertTrue(item.equals(item)); }
From source file:org.jfree.data.time.TimeSeriesDataItemTest.java
/** * Test the equals() method./*from w w w .j av a2 s . co m*/ */ @Test public void testEquals() { TimeSeriesDataItem item1 = new TimeSeriesDataItem(new Day(23, 9, 2001), 99.7); TimeSeriesDataItem item2 = new TimeSeriesDataItem(new Day(23, 9, 2001), 99.7); assertTrue(item1.equals(item2)); assertTrue(item2.equals(item1)); item1.setValue(new Integer(5)); assertFalse(item1.equals(item2)); item2.setValue(new Integer(5)); assertTrue(item1.equals(item2)); }
From source file:org.jfree.data.time.TimeSeriesDataItemTest.java
/** * Serialize an instance, restore it, and check for equality. *//*from w ww .jav a 2 s . c o m*/ @Test public void testSerialization() { TimeSeriesDataItem item1 = new TimeSeriesDataItem(new Day(23, 9, 2001), 99.7); TimeSeriesDataItem item2 = (TimeSeriesDataItem) TestUtilities.serialised(item1); assertEquals(item1, item2); }
From source file:org.jstockchart.time.SegmentedTimeSeries.java
/** * Adds a <code>TimeSeriesDataItem</code> instance to the series. * /*from w ww.ja va2 s . co m*/ * @param item * the <code>TimeSeriesDataItem</code> instance. */ public void addItem(TimeSeriesDataItem item) { if (lastItem != null) { long lastStart = lastItem.getPeriod().getFirstMillisecond(); long thisStart = item.getPeriod().getFirstMillisecond(); long thisEnd = item.getPeriod().getLastMillisecond(); int diff = 0; if (step > 0) { diff = (int) ((thisStart - lastStart) / (thisEnd - thisStart) - 1) / step; } RegularTimePeriod bufPeriod = lastItem.getPeriod().next(); Number bufValue = lastItem.getValue(); for (int i = 0; i < diff; i++) { TimeSeriesDataItem bufItem = new TimeSeriesDataItem(bufPeriod, bufValue); if (timeline != null) { if (timeline.containsDomainValue(bufPeriod.getLastMillisecond())) { timeseries.addOrUpdate(bufItem); size++; } } else { timeseries.add(bufItem); size++; } bufPeriod = bufItem.getPeriod().next(); } } timeseries.addOrUpdate(item); //timeseries.add(item); size++; lastItem = item; }
From source file:org.activequant.util.charting.Chart.java
/** * method to add a line series chart to the current chart. * @param title/* w ww .jav a 2 s. c o m*/ * @param dateAndValues */ public void addLineSeriesChart(String title, List<Tuple<TimeStamp, Double>> dateAndValues) { // creating a new jfree chart time series object. final TimeSeries ts = new TimeSeries(title, Millisecond.class); // iterate over the incoming value tuples and add them. 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); // add it to the chart plot. final XYPlot plot1 = chart.getXYPlot(); // disable all shape rendering. final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); renderer.setDrawOutlines(false); renderer.setUseOutlinePaint(false); renderer.setShapesVisible(false); // finally add the data set to chart plot1.setDataset(datasets.size(), dataset); plot1.setRenderer(datasets.size(), renderer); }
From source file:org.geoserver.monitor.web.ActivityChartBasePanel.java
BufferedDynamicImageResource queryAndRenderChart(Monitor monitor, Date[] range) {
Query q = new Query();
q.properties("startTime").between(range[0], range[1]);
DataGatherer gatherer = new DataGatherer();
monitor.query(q, gatherer);/*from w w w. ja va2 s . c om*/
HashMap<RegularTimePeriod, Integer> data = gatherer.getData();
Class timeUnitClass = getTimePeriod(range[0]).getClass();
TimeSeries series = new TimeSeries("foo", timeUnitClass);
for (Map.Entry<RegularTimePeriod, Integer> d : data.entrySet()) {
series.add(new TimeSeriesDataItem(d.getKey(), d.getValue()));
}
TimeSeriesCollection dataset = new TimeSeriesCollection(series);
final JFreeChart chart = createTimeSeriesChart(getChartTitle(range),
"Time (" + timeUnitClass.getSimpleName() + ")", "Requests", dataset);
BufferedDynamicImageResource resource = new BufferedDynamicImageResource();
resource.setImage(chart.createBufferedImage(700, 500));
return resource;
}
From source file:org.miloss.fgsms.services.rs.impl.reports.AvailabilityByService.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 {// w w w. j av a 2 s . c o m 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>Number of status changes</th><th>Percent Uptime</th><th>Percent Downtime</th></tr>"); DecimalFormat percentFormat = new DecimalFormat("###.#####"); TimeSeriesCollection col = new TimeSeriesCollection(); for (int i = 0; i < urls.size(); i++) { //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))); TimeSeries s1 = new TimeSeries(url, org.jfree.data.time.Millisecond.class); try { data.append("<tr><td>").append(url).append("</td>"); List<StatusRecordsExt> records = getStatusRecords(urls.get(i), range, con); //special case, no status records available if (records == null || records.isEmpty()) { data.append("<td>-</td><td>-</td></tr>"); continue; } double uptime = getUptimePercentage(records, range); data.append("<td>").append(records.size() + "").append("</td><td>") .append(percentFormat.format(uptime)).append("</td><td>") .append(percentFormat.format(100 - uptime)).append("</td></tr>"); TimeSeriesDataItem t = null; for (int k = 0; k < records.size(); k++) { if (records.get(k).status) { try { t = new TimeSeriesDataItem(new Millisecond(records.get(k).gcal.getTime()), 1); s1.addOrUpdate(t); } catch (Exception ex) { log.log(Level.WARN, null, ex); } } else { try { t = new TimeSeriesDataItem(new Millisecond(records.get(k).gcal.getTime()), 0); s1.addOrUpdate(t); } catch (Exception ex) { log.log(Level.WARN, null, ex); } } col.addSeries(s1); } } catch (Exception ex) { log.log(Level.ERROR, "Error opening or querying the database.", ex); } } chart = org.jfree.chart.ChartFactory.createTimeSeriesChart(GetDisplayName(), "Timestamp", "Status", col, true, false, false); data.append("</table>"); try { ChartUtilities.saveChartAsPNG(new File( path + getFilePathDelimitor() + "image_" + this.getClass().getSimpleName() + ".png"), chart, 1500, 800); 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); } }
From source file:org.jstockchart.dataset.TimeseriesDataset.java
/** * Adds a <code>TimeseriesItem</code> instance to the data set. * //from www . j a v a2s .com * @param item * the <code>TimeseriesItem</code> instance. */ public void addDataItem(TimeseriesItem item) { RegularTimePeriod time = RegularTimePeriod.createInstance(timePeriodClass, item.getTime(), timeZone); priceTimeSeries.addItem(new TimeSeriesDataItem(time, item.getPrice())); volumeTimeSeries.addOrUpdate(new TimeSeriesDataItem(time, item.getVolume())); if (average != null) { average.setPriceVolume(item.getPrice(), item.getVolume()); averageTimeSeries.addItem(new TimeSeriesDataItem(time, average.value)); } if (maxPrice == null || maxPrice.doubleValue() < item.getPrice()) { maxPrice = new Double(item.getPrice()); } if (minPrice == null || minPrice.doubleValue() > item.getPrice()) { minPrice = new Double(item.getPrice()); } if (maxVolume == null || maxVolume.doubleValue() < item.getVolume()) { maxVolume = new Double(item.getVolume()); } if (minVolume == null || minVolume.doubleValue() > item.getVolume()) { minVolume = new Double(item.getVolume()); } }
From source file:org.activequant.util.charting.Chart.java
/** * method to add a dot chart.//w w w . jav a 2 s. co m * @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:se.six.jmeter.visualizer.statagg.StatAggVisualizer.java
private void addValue(TimeSeries ts, RegularTimePeriod period, double value) { TimeSeriesDataItem item = new TimeSeriesDataItem(period, value); addValue(ts, item);/* w ww.jav a 2s .c o m*/ }