List of usage examples for org.jfree.data.time TimeSeriesCollection setXPosition
public void setXPosition(TimePeriodAnchor anchor)
From source file:wsattacker.plugin.dos.dosExtension.chart.ChartObject.java
private synchronized XYDataset createDatasetResponseTime(String type) { Map<Integer, LogEntryInterval> currentMap = null; String name = null;/* w w w.jav a2 s.c o m*/ if (type.equals("tampered")) { currentMap = model.getMapLogEntryIntervalTampered(); name = "Mean Response Time Tampered Requests"; // Roundtrip Time } else if (type.equals("untampered")) { currentMap = model.getMapLogEntryIntervalUntampered(); name = "Mean Response Time Untampered Requests"; // Roundtrip Time } else if (type.equals("testprobe")) { currentMap = model.getMapLogEntryIntervalTestProbe(); name = "Mean Response Time Simulated 3rd Party Requests"; // Roundtrip // Time } else { System.out.println("Invalid type"); } Date currentDate; long currentMsTs; final TimeSeries series = new TimeSeries(name); if (currentMap != null) { for (Map.Entry<Integer, LogEntryInterval> log : currentMap.entrySet()) { // Create TS from model.startTime and log.getIntervalNumber(); currentMsTs = model.getTsAttackStart() + log.getValue().getIntervalNumber(); currentDate = new Date(currentMsTs); // System.out.println(name+" Sekunde"+log.getValue().getIntervalNumber()+" TS: "+currentMsTs+" time "+log.getValue().getMeanResponseTime()); series.add(new Second(currentDate), (log.getValue().getMeanResponseTime())); } } final TimeSeriesCollection dataset = new TimeSeriesCollection(series); dataset.setXPosition(TimePeriodAnchor.MIDDLE); return dataset; }
From source file:org.jfree.data.time.TimeSeriesCollectionTest.java
/** * Test the getSurroundingItems() method to ensure it is returning the * values we expect./*w w w .j a va2 s. c o m*/ */ @Test public void testGetSurroundingItems() { TimeSeries series = new TimeSeries("Series 1"); TimeSeriesCollection collection = new TimeSeriesCollection(series); collection.setXPosition(TimePeriodAnchor.MIDDLE); // for a series with no data, we expect {-1, -1}... int[] result = collection.getSurroundingItems(0, 1000L); assertTrue(result[0] == -1); assertTrue(result[1] == -1); // now test with a single value in the series... Day today = new Day(); long start1 = today.getFirstMillisecond(); long middle1 = today.getMiddleMillisecond(); long end1 = today.getLastMillisecond(); series.add(today, 99.9); result = collection.getSurroundingItems(0, start1); assertTrue(result[0] == -1); assertTrue(result[1] == 0); result = collection.getSurroundingItems(0, middle1); assertTrue(result[0] == 0); assertTrue(result[1] == 0); result = collection.getSurroundingItems(0, end1); assertTrue(result[0] == 0); assertTrue(result[1] == -1); // now add a second value to the series... Day tomorrow = (Day) today.next(); long start2 = tomorrow.getFirstMillisecond(); long middle2 = tomorrow.getMiddleMillisecond(); long end2 = tomorrow.getLastMillisecond(); series.add(tomorrow, 199.9); result = collection.getSurroundingItems(0, start2); assertTrue(result[0] == 0); assertTrue(result[1] == 1); result = collection.getSurroundingItems(0, middle2); assertTrue(result[0] == 1); assertTrue(result[1] == 1); result = collection.getSurroundingItems(0, end2); assertTrue(result[0] == 1); assertTrue(result[1] == -1); // now add a third value to the series... Day yesterday = (Day) today.previous(); long start3 = yesterday.getFirstMillisecond(); long middle3 = yesterday.getMiddleMillisecond(); long end3 = yesterday.getLastMillisecond(); series.add(yesterday, 1.23); result = collection.getSurroundingItems(0, start3); assertTrue(result[0] == -1); assertTrue(result[1] == 0); result = collection.getSurroundingItems(0, middle3); assertTrue(result[0] == 0); assertTrue(result[1] == 0); result = collection.getSurroundingItems(0, end3); assertTrue(result[0] == 0); assertTrue(result[1] == 1); }
From source file:ch.agent.crnickl.demo.stox.Chart.java
private XYDataset getDataset(String key, TimeSeries series) throws KeyedException { TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.setXPosition(TimePeriodAnchor.START); dataset.addSeries(series);/*from w ww . j a va 2s.com*/ return dataset; }
From source file:org.jfree.data.time.TimeSeriesCollectionTest.java
@Test public void testGetRangeBounds2() { TimeZone tzone = TimeZone.getTimeZone("Europe/London"); Calendar calendar = new GregorianCalendar(tzone, Locale.UK); calendar.clear();/*from w w w . java2s .c o m*/ calendar.set(2014, Calendar.FEBRUARY, 23, 6, 0); long start = calendar.getTimeInMillis(); calendar.clear(); calendar.set(2014, Calendar.FEBRUARY, 24, 18, 0); long end = calendar.getTimeInMillis(); Range range = new Range(start, end); TimeSeriesCollection collection = new TimeSeriesCollection(tzone); assertNull(collection.getRangeBounds(Collections.EMPTY_LIST, range, true)); TimeSeries s1 = new TimeSeries("S1"); s1.add(new Day(24, 2, 2014), 10.0); collection.addSeries(s1); assertEquals(new Range(10.0, 10.0), collection.getRangeBounds(Arrays.asList("S1"), range, true)); collection.setXPosition(TimePeriodAnchor.MIDDLE); assertEquals(new Range(10.0, 10.0), collection.getRangeBounds(Arrays.asList("S1"), range, true)); collection.setXPosition(TimePeriodAnchor.END); assertNull(collection.getRangeBounds(Arrays.asList("S1"), range, true)); }
From source file:org.sakaiproject.sitestats.impl.chart.ChartServiceImpl.java
private AbstractDataset getTimeSeriesCollectionDataset(Report report) { List<Stat> reportData = report.getReportData(); // fill dataset TimeSeriesCollection dataSet = new TimeSeriesCollection(); String dataSource = report.getReportDefinition().getReportParams().getHowChartSource(); String seriesFrom = report.getReportDefinition().getReportParams().getHowChartSeriesSource(); if (StatsManager.T_TOTAL.equals(seriesFrom) || StatsManager.T_NONE.equals(seriesFrom)) { seriesFrom = null;/*from w w w .ja v a2 s.co m*/ } Class periodGrouping = null; if (StatsManager.CHARTTIMESERIES_DAY .equals(report.getReportDefinition().getReportParams().getHowChartSeriesPeriod()) || StatsManager.CHARTTIMESERIES_WEEKDAY .equals(report.getReportDefinition().getReportParams().getHowChartSeriesPeriod())) { periodGrouping = org.jfree.data.time.Day.class; } else if (StatsManager.CHARTTIMESERIES_MONTH .equals(report.getReportDefinition().getReportParams().getHowChartSeriesPeriod())) { periodGrouping = org.jfree.data.time.Month.class; } else if (StatsManager.CHARTTIMESERIES_YEAR .equals(report.getReportDefinition().getReportParams().getHowChartSeriesPeriod())) { periodGrouping = org.jfree.data.time.Year.class; } boolean visitsTotalsChart = ReportManager.WHAT_VISITS_TOTALS .equals(report.getReportDefinition().getReportParams().getWhat()) || report.getReportDefinition().getReportParams().getHowTotalsBy().contains(StatsManager.T_VISITS) || report.getReportDefinition().getReportParams().getHowTotalsBy() .contains(StatsManager.T_UNIQUEVISITS); Set<RegularTimePeriod> keys = new HashSet<RegularTimePeriod>(); if (!visitsTotalsChart && seriesFrom == null) { // without additional series String name = msgs.getString("th_total"); TimeSeries ts = new TimeSeries(name, periodGrouping); for (Stat s : reportData) { RegularTimePeriod key = (RegularTimePeriod) getStatValue(s, dataSource, periodGrouping); if (key != null) { Number existing = null; if ((existing = ts.getValue(key)) == null) { ts.add(key, getTotalValue(s, report)); } else { ts.addOrUpdate(key, getTotalValue(existing, s, report)); } keys.add(key); } } dataSet.addSeries(ts); } else if (!visitsTotalsChart && seriesFrom != null) { // with additional series Map<Comparable, TimeSeries> series = new HashMap<Comparable, TimeSeries>(); //TimeSeries ts = new TimeSeries(dataSource, org.jfree.data.time.Day.class); for (Stat s : reportData) { RegularTimePeriod key = (RegularTimePeriod) getStatValue(s, dataSource, periodGrouping); Comparable serie = (Comparable) getStatValue(s, seriesFrom); if (key != null && serie != null) { // determine appropriate serie TimeSeries ts = null; if (!series.containsKey(serie)) { ts = new TimeSeries(serie.toString(), periodGrouping); series.put(serie, ts); } else { ts = series.get(serie); } Number existing = null; if ((existing = ts.getValue(key)) == null) { ts.add(key, getTotalValue(s, report)); } else { ts.addOrUpdate(key, getTotalValue(existing, s, report)); } keys.add(key); } } // add series for (TimeSeries ts : series.values()) { dataSet.addSeries(ts); } } else if (visitsTotalsChart) { // 2 series: visits & unique visitors TimeSeries tsV = new TimeSeries(msgs.getString("th_visits"), periodGrouping); TimeSeries tsUV = new TimeSeries(msgs.getString("th_uniquevisitors"), periodGrouping); for (Stat _s : reportData) { SiteVisits s = (SiteVisits) _s; RegularTimePeriod key = (RegularTimePeriod) getStatValue(s, dataSource, periodGrouping); if (key != null) { Number existing = null; if ((existing = tsV.getValue(key)) == null) { tsV.add(key, s.getTotalVisits()); tsUV.add(key, s.getTotalUnique()); } else { tsV.addOrUpdate(key, s.getTotalVisits() + existing.longValue()); tsUV.addOrUpdate(key, s.getTotalVisits() + existing.longValue()); } keys.add(key); } } dataSet.addSeries(tsV); dataSet.addSeries(tsUV); } // fill missing values with zeros /*for(TimeSeries ts : (List<TimeSeries>) dataSet.getSeries()) { for(RegularTimePeriod tp : keys) { if(ts.getValue(tp) == null) { ts.add(tp, 0.0); } } }*/ dataSet.setXPosition(TimePeriodAnchor.MIDDLE); return dataSet; }