List of usage examples for org.jfree.data.time Hour Hour
public Hour(Date time)
From source file:org.codehaus.mojo.dashboard.report.plugin.chart.time.AbstractTimeChartStrategy.java
/** * * @param keyDate// ww w. ja v a2s . c o m * @return */ protected RegularTimePeriod getChartDate(Date keyDate) { RegularTimePeriod chartDate = null; if (timePeriod.equals(TimePeriod.MINUTE)) { chartDate = new Minute(keyDate); } else if (timePeriod.equals(TimePeriod.HOUR)) { chartDate = new Hour(keyDate); } else if (timePeriod.equals(TimePeriod.DAY)) { chartDate = new Day(keyDate); } else if (timePeriod.equals(TimePeriod.WEEK)) { chartDate = new Week(keyDate); } else if (timePeriod.equals(TimePeriod.MONTH)) { chartDate = new Month(keyDate); } else { chartDate = new Hour(keyDate); } return chartDate; }
From source file:com.sonyericsson.jenkins.plugins.bfa.graphs.TimeSeriesChart.java
@Override protected JFreeChart createGraph() { TimeTableXYDataset dataset = createDataset(); ValueAxis xAxis = new DateAxis(); xAxis.setLowerMargin(0.0);// w w w . jav a 2 s . com xAxis.setUpperMargin(0.0); Calendar lowerBound = getLowerGraphBound(); xAxis.setRange(lowerBound.getTimeInMillis(), Calendar.getInstance().getTimeInMillis()); NumberAxis yAxis = new NumberAxis(Y_AXIS_LABEL); yAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); StackedXYBarRenderer renderer = new StackedXYBarRenderer(); renderer.setBaseToolTipGenerator(new XYToolTipGenerator() { @Override public String generateToolTip(XYDataset dataset, int series, int item) { String seriesKey = dataset.getSeriesKey(series).toString(); StringBuilder sb = new StringBuilder(); if (seriesKey.equals(GRAPH_OTHERS)) { long timeInMillis = dataset.getX(series, item).longValue(); Date time = new Date(timeInMillis); TimePeriod period = null; if (intervalSize == Calendar.DATE) { period = new Day(time); } else if (intervalSize == Calendar.HOUR_OF_DAY) { period = new Hour(time); } else if (intervalSize == Calendar.MONTH) { period = new Month(time); } List<FailureCauseTimeInterval> excludedDataList = excludedDataForPeriod.get(period); if (excludedDataList != null) { Collections.sort(excludedDataList, new Comparator<FailureCauseTimeInterval>() { @Override public int compare(FailureCauseTimeInterval o1, FailureCauseTimeInterval o2) { return o2.getNumber() - o1.getNumber(); } }); for (FailureCauseTimeInterval excludedData : excludedDataList) { sb.append(excludedData).append(" \n"); } } } else { int number = dataset.getY(series, item).intValue(); sb.append(seriesKey).append(": ").append(number); } return sb.toString(); } }); XYPlot plot = new XYPlot(dataset, xAxis, yAxis, renderer); plot.setOrientation(PlotOrientation.VERTICAL); plot.setRangeAxis(yAxis); JFreeChart chart = new JFreeChart(graphTitle, JFreeChart.DEFAULT_TITLE_FONT, plot, true); return chart; }
From source file:grisu.frontend.view.swing.files.preview.fileViewers.JobStatusGridFileViewer.java
private synchronized void generateGraph() { cpusSeries.clear();/*w w w .ja v a 2 s. c o m*/ licensesUserSeries.clear(); licensesAllSeries.clear(); ligandsSeries.clear(); List<String> lines; try { lines = FileUtils.readLines(this.csvFile); } catch (final IOException e) { myLogger.error(e.getLocalizedMessage(), e); return; } for (int i = 0; i < lines.size(); i++) { final String[] tokens = lines.get(i).split(","); final Date date = new Date(Long.parseLong(tokens[0]) * 1000); int cpus = Integer.parseInt(tokens[1]); if (cpus < 0) { cpus = 0; } int licensesUser = Integer.parseInt(tokens[2]); if (licensesUser < 0) { licensesUser = 0; } int licensesAll = Integer.parseInt(tokens[3]); if (licensesAll < 0) { licensesAll = 0; } final int ligands = Integer.parseInt(tokens[4]); RegularTimePeriod p = null; if (showMinutes) { p = new Minute(date); } else { p = new Hour(date); } cpusSeries.addOrUpdate(p, cpus); licensesUserSeries.addOrUpdate(p, licensesUser); licensesAllSeries.addOrUpdate(p, licensesAll); ligandsSeries.addOrUpdate(p, ligands); } }
From source file:com.appnativa.rare.ui.chart.jfreechart.ChartHelper.java
public static RegularTimePeriod getTimePeriod(Date date, ChartAxis.TimeUnit tm) { RegularTimePeriod tp;/*from www. ja v a2 s .c o m*/ switch (tm) { case MILLISECOND: tp = new Millisecond(date); break; case SECOND: tp = new Second(date); break; case MINUTE: tp = new Minute(date); break; case HOUR: tp = new Hour(date); break; case WEEK: tp = new Week(date); break; case MONTH: tp = new Month(date); break; case YEAR: tp = new Year(date); break; default: tp = new Day(date); break; } return tp; }
From source file:de.dal33t.powerfolder.ui.information.stats.StatsInformationCard.java
private void redrawUsedBandwidthStats() { Cursor c = CursorUtils.setWaitCursor(uiComponent); try {//ww w .j a v a2s . c om int usedGraphType = usedGraphTypeComboBox.getSelectedIndex(); int usedDataType = usedDataTypeComboBox.getSelectedIndex(); availableBandwidthSeries.clear(); usedBandwidthSeries.clear(); averageBandwidthSeries.clear(); Set<CoalescedBandwidthStat> stats = getController().getTransferManager().getBandwidthStats(); Calendar cal = Calendar.getInstance(); boolean first = true; Date last = null; for (CoalescedBandwidthStat stat : stats) { Hour hour = new Hour(stat.getDate()); if (first) { first = false; cal.setTime(stat.getDate()); } if (stat.getInfo() == BandwidthLimiterInfo.WAN_INPUT && usedDataType == 0 || stat.getInfo() == BandwidthLimiterInfo.WAN_OUTPUT && usedDataType == 1 || stat.getInfo() == BandwidthLimiterInfo.LAN_INPUT && usedDataType == 2 || stat.getInfo() == BandwidthLimiterInfo.LAN_OUTPUT && usedDataType == 3) { if (usedGraphType == 0 || usedGraphType == 1) { usedBandwidthSeries.add(hour, stat.getUsedBandwidth() / 1000.0); } if (usedGraphType == 0 || usedGraphType == 2) { availableBandwidthSeries.add(hour, stat.getInitialBandwidth() / 1000.0); } if (usedGraphType == 3) { averageBandwidthSeries.add(hour, stat.getAverageUsedBandwidth() / 1000.0); } } last = stat.getDate(); } if (last != null) { while (cal.getTime().before(last)) { Hour hour = new Hour(cal.getTime()); if (availableBandwidthSeries.getDataItem(hour) == null) { availableBandwidthSeries.add(hour, 0.0); } if (usedBandwidthSeries.getDataItem(hour) == null) { usedBandwidthSeries.add(hour, 0.0); } if (averageBandwidthSeries.getDataItem(hour) == null) { averageBandwidthSeries.add(hour, 0.0); } cal.add(Calendar.HOUR, 1); } } } finally { CursorUtils.returnToOriginal(uiComponent, c); } }
From source file:org.tolven.graph.GraphMenuEventHandler.java
private XYDataset createDataset() throws Exception { MenuPath elementPath = new MenuPath(getElement()); MenuStructure dataMS = getAction().getParent(); MenuPath mdPath = new MenuPath(dataMS.getPath(), elementPath); MenuQueryControl ctrl = new MenuQueryControl(); ctrl.setLimit(5000); // TODO: This is a hard coded hard query limit that should be in a property or something ctrl.setMenuStructure(dataMS);/*from w ww .j a v a 2 s .co m*/ ctrl.setAccountUser(getAccountUser()); ctrl.setNow(getTolvenNow()); ctrl.setOffset(0); ctrl.setOriginalTargetPath(mdPath); ctrl.setRequestedPath(mdPath); List<MenuData> menuData = getMenuBean().findMenuData(ctrl); Properties menuEventHandlerData = getAction().getMenuEventHandlerDataMap(); String timeColumn = menuEventHandlerData.getProperty("timeColumn"); String valueColumn = menuEventHandlerData.getProperty("valueColumn"); String unitsColumn = menuEventHandlerData.getProperty("unitsColumn"); String datasetColumn = menuEventHandlerData.getProperty("datasetColumn"); String[] datasetUnitsArray = getRequest().getParameter("datasetunits").split(","); List<String> datasetUnits = new ArrayList<String>(); for (String string : datasetUnitsArray) { datasetUnits.add(string); } Map<String, String[]> datasetUnitMap = createDatasetUnitsMap(); Map<String, TimeSeries> timeSeriesMap = new HashMap<String, TimeSeries>(); for (String[] datasetUnitArray : datasetUnitMap.values()) { String dataset = datasetUnitArray[0]; String unit = datasetUnitArray[1]; String datasetUnit = dataset + unit; if (datasetUnits.contains(datasetUnit)) { timeSeriesMap.put(datasetUnit, new TimeSeries(dataset + " (" + unit + ")", Hour.class)); } } for (MenuData md : menuData) { String dataset = md.getStringField(datasetColumn); String units = md.getStringField(unitsColumn); String datasetUnit = dataset + units; TimeSeries currentTimeSeries = timeSeriesMap.get(datasetUnit); if (currentTimeSeries != null) { GregorianCalendar cal = new GregorianCalendar(); cal.setTime(md.getDateField(timeColumn)); Hour hour = new Hour(cal.getTime()); currentTimeSeries.addOrUpdate(hour, md.getInternalPQValueField(md.getColumn(valueColumn).getInternal())); } } TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection(); for (TimeSeries timeSeries : timeSeriesMap.values()) { timeSeriesCollection.addSeries(timeSeries); } timeSeriesCollection.setDomainIsPointsInTime(true); TolvenLogger.info("Done preparing Dataset", GraphMenuEventHandler.class); return timeSeriesCollection; }
From source file:org.gbif.portal.web.controller.dataset.IndexingHistoryController.java
/** * Create a time series graphic to display indexing processes. * //from ww w .j av a2 s . c o m * @param dataProvider * @param dataResource * @param activities * @param fileNamePrefix * @return */ public String timeSeriesTest(DataProviderDTO dataProvider, DataResourceDTO dataResource, List<LoggedActivityDTO> loggedActivities, String fileNamePrefix, int minProcessingTimeToRender) { List<LoggedActivityDTO> activities = new ArrayList<LoggedActivityDTO>(); for (LoggedActivityDTO la : loggedActivities) { if (la.getDataResourceKey() != null && la.getDataResourceName() != null && la.getEventName() != null) activities.add(la); } //if no activities to render, return if (activities.isEmpty()) return null; Map<String, Integer> drActualCount = new HashMap<String, Integer>(); Map<String, Integer> drCount = new HashMap<String, Integer>(); //record the actual counts for (LoggedActivityDTO laDTO : activities) { if (laDTO.getStartDate() != null && laDTO.getEndDate() != null && laDTO.getDurationInMillisecs() > minProcessingTimeToRender) { if (drActualCount.get(laDTO.getDataResourceName()) == null) { drActualCount.put(laDTO.getDataResourceName(), new Integer(4)); drCount.put(laDTO.getDataResourceName(), new Integer(0)); } else { Integer theCount = drActualCount.get(laDTO.getDataResourceName()); theCount = new Integer(theCount.intValue() + 4); drActualCount.remove(laDTO.getDataResourceName()); drActualCount.put(laDTO.getDataResourceName(), theCount); } } } StringBuffer fileNameBuffer = new StringBuffer(fileNamePrefix); if (dataResource != null) { fileNameBuffer.append("-resource-"); fileNameBuffer.append(dataResource.getKey()); } else if (dataProvider != null) { fileNameBuffer.append("-provider-"); fileNameBuffer.append(dataProvider.getKey()); } fileNameBuffer.append(".png"); String fileName = fileNameBuffer.toString(); String filePath = System.getProperty("java.io.tmpdir") + File.separator + fileName; File fileToCheck = new File(filePath); if (fileToCheck.exists()) { return fileName; } TimeSeriesCollection dataset = new TimeSeriesCollection(); boolean generateChart = false; int count = 1; int dataResourceCount = 1; Collections.sort(activities, new Comparator<LoggedActivityDTO>() { public int compare(LoggedActivityDTO o1, LoggedActivityDTO o2) { if (o1 == null || o2 == null || o1.getDataResourceKey() != null || o2.getDataResourceKey() != null) return -1; return o1.getDataResourceKey().compareTo(o2.getDataResourceKey()); } }); String currentDataResourceKey = activities.get(0).getDataResourceKey(); for (LoggedActivityDTO laDTO : activities) { if (laDTO.getStartDate() != null && laDTO.getEndDate() != null && laDTO.getDurationInMillisecs() > minProcessingTimeToRender) { if (currentDataResourceKey != null && !currentDataResourceKey.equals(laDTO.getDataResourceKey())) { dataResourceCount++; count = count + 1; currentDataResourceKey = laDTO.getDataResourceKey(); } TimeSeries s1 = new TimeSeries(laDTO.getDataResourceName(), "Process time period", laDTO.getEventName(), Hour.class); s1.add(new Hour(laDTO.getStartDate()), count); s1.add(new Hour(laDTO.getEndDate()), count); dataset.addSeries(s1); generateChart = true; } } if (!generateChart) return null; // create a pie chart... final JFreeChart chart = ChartFactory.createTimeSeriesChart(null, null, null, dataset, false, false, false); XYPlot plot = chart.getXYPlot(); plot.setWeight(10); plot.getRangeAxis().setAutoRange(false); plot.getRangeAxis().setRange(0, drCount.size() + 1); plot.getRangeAxis().setAxisLineVisible(false); plot.getRangeAxis().setAxisLinePaint(Color.WHITE); plot.setDomainCrosshairValue(1); plot.setRangeGridlinesVisible(false); plot.getRangeAxis().setVisible(false); plot.getRangeAxis().setLabel("datasets"); XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(); renderer.setItemLabelsVisible(true); MyXYItemLabelGenerator labelGenerator = new MyXYItemLabelGenerator(); labelGenerator.setDataResourceActualCount(drActualCount); labelGenerator.setDataResourceCount(drCount); renderer.setItemLabelGenerator(labelGenerator); List<TimeSeries> seriesList = dataset.getSeries(); for (TimeSeries series : seriesList) { if (((String) series.getRangeDescription()).startsWith("extraction")) { renderer.setSeriesPaint(seriesList.indexOf(series), Color.RED); } else { renderer.setSeriesPaint(seriesList.indexOf(series), Color.BLUE); } renderer.setSeriesStroke(seriesList.indexOf(series), new BasicStroke(7f)); } int imageHeight = 30 * dataResourceCount; if (imageHeight < 100) { imageHeight = 100; } else { imageHeight = imageHeight + 100; } final BufferedImage image = new BufferedImage(900, imageHeight, BufferedImage.TYPE_INT_RGB); KeypointPNGEncoderAdapter adapter = new KeypointPNGEncoderAdapter(); adapter.setQuality(1); try { adapter.encode(image); } catch (IOException e) { logger.error(e.getMessage(), e); } final Graphics2D g2 = image.createGraphics(); g2.setFont(new Font("Arial", Font.PLAIN, 11)); final Rectangle2D chartArea = new Rectangle2D.Double(0, 0, 900, imageHeight); // draw chart.draw(g2, chartArea, null, null); //styling chart.setPadding(new RectangleInsets(0, 0, 0, 0)); chart.setBorderVisible(false); chart.setBackgroundImageAlpha(0); chart.setBackgroundPaint(Color.WHITE); chart.setBorderPaint(Color.LIGHT_GRAY); try { FileOutputStream fOut = new FileOutputStream(filePath); ChartUtilities.writeChartAsPNG(fOut, chart, 900, imageHeight); return fileName; } catch (IOException e) { logger.error(e.getMessage(), e); } return null; }
From source file:de.dal33t.powerfolder.ui.information.stats.StatsInformationCard.java
private void redrawPercentageBandwidthStats() { Cursor c = CursorUtils.setWaitCursor(uiComponent); try {/*from w ww . ja v a2 s. c o m*/ int percentDataType = percentDataTypeComboBox.getSelectedIndex(); percentageBandwidthSeries.clear(); Set<CoalescedBandwidthStat> stats = getController().getTransferManager().getBandwidthStats(); Calendar cal = Calendar.getInstance(); boolean first = true; Date last = null; for (CoalescedBandwidthStat stat : stats) { Hour hour = new Hour(stat.getDate()); if (first) { first = false; cal.setTime(stat.getDate()); } if (stat.getInfo() == BandwidthLimiterInfo.WAN_INPUT && percentDataType == 0 || stat.getInfo() == BandwidthLimiterInfo.WAN_OUTPUT && percentDataType == 1 || stat.getInfo() == BandwidthLimiterInfo.LAN_INPUT && percentDataType == 2 || stat.getInfo() == BandwidthLimiterInfo.LAN_OUTPUT && percentDataType == 3) { percentageBandwidthSeries.add(hour, stat.getPercentageUsedBandwidth()); } last = stat.getDate(); } if (last != null) { while (cal.getTime().before(last)) { Hour hour = new Hour(cal.getTime()); if (percentageBandwidthSeries.getDataItem(hour) == null) { percentageBandwidthSeries.add(hour, 0.0); } cal.add(Calendar.HOUR, 1); } } } finally { CursorUtils.returnToOriginal(uiComponent, c); } }
From source file:no.met.jtimeseries.chart.Utility.java
/** * Return regulartimeperiod for create dataset * // w w w .j av a2s . c o m * @param timeBase * @param time * @return */ public static RegularTimePeriod getPeriod(TimeBase timeBase, Date date) { RegularTimePeriod period = null; if (timeBase == TimeBase.YEAR) period = new Year(date); else if (timeBase == TimeBase.MONTH) period = new Month(date); else if (timeBase == TimeBase.DAY) period = new Day(date); else if (timeBase == TimeBase.HOUR) period = new Hour(date); else if (timeBase == TimeBase.MINUTE) period = new Minute(date); else if (timeBase == TimeBase.SECOND) period = new Second(date); else if (timeBase == TimeBase.HOUR_3) return new FlexibleHour(date, 3); else if (timeBase == TimeBase.HOUR_6) return new FlexibleHour(date, 6); else if (timeBase == TimeBase.HOUR_12) return new FlexibleHour(date, 12); else if (timeBase == TimeBase.HOUR_24) return new FlexibleHour(date, 24); return period; }
From source file:edu.jhuapl.graphs.jfreechart.JFreeChartTimeSeriesGraphSource.java
private static Hour makeHour(TimePointInterface point) { return new Hour(point.getDescriminator()); }