List of usage examples for org.jfree.data.time Second Second
public Second(Date time)
From source file:org.yccheok.jstock.gui.charting.DynamicChart.java
public void addPriceObservation(long timestamp, double y) { // There must be at least an item in price. If not, ArrayIndexOutOfBoundsException // will be thrown, when getNextTimePeriod is being called. final int count = this.price.getItemCount(); if (count > 0) { final Date nextStartDate = this.price.getTimePeriod(count - 1).getStart(); // 10 seconds interval for every point. if ((timestamp - nextStartDate.getTime()) < 10000) { return; }/* w w w . jav a 2s . com*/ } Second second = new Second(new Date(timestamp)); try { this.price.add(second, y); } catch (SeriesException exp) { log.error(null, exp); } }
From source file:test.integ.be.fedict.performance.util.PerformanceResultDialog.java
private JFreeChart getMemoryChart(int intervalSize, List<MemoryData> memory) { if (null == memory || memory.isEmpty()) { return null; }//from w ww. j a va 2 s . c o m JFreeChart chart; TimeSeries freeSeries = new TimeSeries("Free"); TimeSeries maxSeries = new TimeSeries("Max"); TimeSeries totalSeries = new TimeSeries("Total"); memory.remove(memory.size() - 1); for (MemoryData memoryEntry : memory) { freeSeries.add(new Second(memoryEntry.getDate()), memoryEntry.getFreeMemory()); maxSeries.add(new Second(memoryEntry.getDate()), memoryEntry.getMaxMemory()); totalSeries.add(new Second(memoryEntry.getDate()), memoryEntry.getTotalMemory()); } TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(freeSeries); dataset.addSeries(maxSeries); dataset.addSeries(totalSeries); chart = ChartFactory.createTimeSeriesChart("eID Trust Service Memory Usage History", "Time (interval size " + intervalSize + " msec)", "Memory", dataset, true, false, false); chart.addSubtitle(new TextTitle( memory.get(0).getDate().toString() + " - " + memory.get(memory.size() - 1).getDate().toString())); chart.setBackgroundPaint(Color.WHITE); XYPlot plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.WHITE); DateAxis axis = (DateAxis) plot.getDomainAxis(); axis.setDateFormatOverride(new SimpleDateFormat("HH:mm:ss")); ValueAxis valueAxis = plot.getRangeAxis(); valueAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); plot.setRangeGridlinePaint(Color.black); plot.setDomainGridlinePaint(Color.black); plot.setRenderer(renderer); return chart; }
From source file:de.tsystems.mms.apm.performancesignature.ui.PerfSigBuildActionResultsDisplay.java
public void doSummarizerGraph(final StaplerRequest request, final StaplerResponse response) throws IOException { final Graph graph = new GraphImpl(request, getBuild().getTimestamp().getTimeInMillis()) { @Override//w w w . j a va 2 s.c o m protected TimeSeriesCollection createDataSet() { String measure = request.getParameter("measure"); String chartDashlet = request.getParameter("chartdashlet"); String testCase = request.getParameter("testcase"); TimeSeries timeSeries = new TimeSeries(chartDashlet, Second.class); DashboardReport dashboardReport = getDashBoardReport(testCase); Measure m = dashboardReport.getMeasure(chartDashlet, measure); if (m == null || m.getMeasurements() == null) { return null; } for (Measurement measurement : m.getMeasurements()) { timeSeries.add(new Second(new Date(measurement.getTimestamp())), measurement.getMetricValue(m.getAggregation())); } return new TimeSeriesCollection(timeSeries); } }; graph.doPng(request, response); }
From source file:de.tsystems.mms.apm.performancesignature.PerfSigBuildActionResultsDisplay.java
private XYDataset buildTimeSeriesDataSet(final StaplerRequest request) { final String measure = request.getParameter(Messages.PerfSigBuildActionResultsDisplay_ReqParamMeasure()); final String chartDashlet = request .getParameter(Messages.PerfSigBuildActionResultsDisplay_ReqParamChartDashlet()); final String testCase = request.getParameter(Messages.PerfSigBuildActionResultsDisplay_ReqParamTestCase()); final TimeSeries timeSeries = new TimeSeries(chartDashlet, Second.class); final DashboardReport dashboardReport = getDashBoardReport(testCase); final Measure m = dashboardReport.getMeasure(chartDashlet, measure); if (m == null || m.getMeasurements() == null) return null; for (Measurement measurement : m.getMeasurements()) { timeSeries.add(new Second(new Date(measurement.getTimestamp())), measurement.getMetricValue(m.getAggregation())); }/*from w ww . j a v a 2 s . c om*/ return new TimeSeriesCollection(timeSeries); }
From source file:dpnm.netmsuite.plc.manager.frontend.graph.TimeSeriesChartDemo1.java
/** * Creates a dataset, consisting of two series of monthly data. * @return The dataset.//from ww w. j a v a2s. c om */ private XYDataset createDataset() { /* * each 5 seconds, the data updated... * */ String firstGraph = ""; String secondGraph = ""; if (graphType == 1) { firstGraph = "InPackets"; secondGraph = "OutPackets"; TimeSeries s1 = new TimeSeries(firstGraph, Second.class); for (int i = 1; i < statisticInfos.size(); i++) { StatisticInfo pastInfo = (StatisticInfo) statisticInfos.elementAt(i - 1); StatisticInfo oneInfo = (StatisticInfo) statisticInfos.elementAt(i); long timeStamp = oneInfo._timeStamp; long gap = (oneInfo._timeStamp - pastInfo._timeStamp) / 1000; gap = gap == 0 ? 1 : gap; Date date = new Date(timeStamp); long inPkts = oneInfo._inPkts - pastInfo._inPkts; if (inPkts < 0) { pastInfo._inPkts = oneInfo._inPkts + 2 ^ 32 - pastInfo._inPkts; } inPkts = inPkts / gap; s1.add(new Second(date), inPkts); } TimeSeries s2 = new TimeSeries(secondGraph, Second.class); for (int i = 1; i < statisticInfos.size(); i++) { StatisticInfo pastInfo = (StatisticInfo) statisticInfos.elementAt(i - 1); StatisticInfo oneInfo = (StatisticInfo) statisticInfos.elementAt(i); long timeStamp = oneInfo._timeStamp; long gap = (oneInfo._timeStamp - pastInfo._timeStamp) / 1000; gap = gap == 0 ? 1 : gap; Date date = new Date(timeStamp); long outPkts = oneInfo._outPkts - pastInfo._outPkts; if (outPkts < 0) { pastInfo._outPkts = oneInfo._outPkts + 2 ^ 32 - pastInfo._outPkts; } outPkts = outPkts / gap; s2.add(new Second(date), outPkts); } TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(s1); dataset.addSeries(s2); dataset.setDomainIsPointsInTime(true); return dataset; } else if (graphType == 2) { firstGraph = "InBytes"; secondGraph = "OutBytes"; TimeSeries s1 = new TimeSeries(firstGraph, Second.class); for (int i = 1; i < statisticInfos.size(); i++) { StatisticInfo pastInfo = (StatisticInfo) statisticInfos.elementAt(i - 1); StatisticInfo oneInfo = (StatisticInfo) statisticInfos.elementAt(i); long timeStamp = oneInfo._timeStamp; long gap = (oneInfo._timeStamp - pastInfo._timeStamp) / 1000; gap = gap == 0 ? 1 : gap; Date date = new Date(timeStamp); long _inBytes = oneInfo._inBytes - pastInfo._inBytes; if (_inBytes < 0) { pastInfo._inBytes = oneInfo._inBytes + 2 ^ 32 - pastInfo._inBytes; } _inBytes = _inBytes / gap; s1.add(new Second(date), _inBytes); } TimeSeries s2 = new TimeSeries(secondGraph, Second.class); for (int i = 1; i < statisticInfos.size(); i++) { StatisticInfo pastInfo = (StatisticInfo) statisticInfos.elementAt(i - 1); StatisticInfo oneInfo = (StatisticInfo) statisticInfos.elementAt(i); long timeStamp = oneInfo._timeStamp; long gap = (oneInfo._timeStamp - pastInfo._timeStamp) / 1000; gap = gap == 0 ? 1 : gap; Date date = new Date(timeStamp); long _outBytes = oneInfo._outBytes - pastInfo._outBytes; if (_outBytes < 0) { pastInfo._outBytes = oneInfo._outBytes + 2 ^ 32 - pastInfo._outBytes; } _outBytes = _outBytes / gap; s2.add(new Second(date), _outBytes); } TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(s1); dataset.addSeries(s2); dataset.setDomainIsPointsInTime(true); return dataset; } else if (graphType == 3) { firstGraph = "InSpeed"; secondGraph = "OutSpeed"; TimeSeries s1 = new TimeSeries(firstGraph, Second.class); for (int i = 1; i < statisticInfos.size(); i++) { StatisticInfo pastInfo = (StatisticInfo) statisticInfos.elementAt(i - 1); StatisticInfo oneInfo = (StatisticInfo) statisticInfos.elementAt(i); long timeStamp = oneInfo._timeStamp; Date date = new Date(timeStamp); long _inSpeed = oneInfo._inSpeed; s1.add(new Second(date), _inSpeed); } TimeSeries s2 = new TimeSeries(secondGraph, Second.class); for (int i = 1; i < statisticInfos.size(); i++) { StatisticInfo pastInfo = (StatisticInfo) statisticInfos.elementAt(i - 1); StatisticInfo oneInfo = (StatisticInfo) statisticInfos.elementAt(i); long timeStamp = oneInfo._timeStamp; Date date = new Date(timeStamp); long _outSpeed = oneInfo._outSpeed; s2.add(new Second(date), _outSpeed); } TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(s1); dataset.addSeries(s2); dataset.setDomainIsPointsInTime(true); return dataset; } else { firstGraph = "Not Defiend"; secondGraph = "Not Defiend"; return null; } }
From source file:test.integ.be.fedict.performance.util.PerformanceResultDialog.java
private JFreeChart getPerformanceChart(int intervalSize, List<PerformanceData> performance, int expectedRevoked) { TimeSeries series = new TimeSeries("Success"); TimeSeries revokedSeries = new TimeSeries("Revoked"); TimeSeries failureSeries = new TimeSeries("Failures"); performance.remove(performance.size() - 1); if (performance.isEmpty()) { JOptionPane.showMessageDialog(null, "test did not run long enough"); return null; }/*w w w . jav a 2 s . co m*/ JFreeChart chart; int totalCount = 0; int totalRevoked = 0; int totalFailures = 0; for (PerformanceData performanceEntry : performance) { series.add(new Second(performanceEntry.getDate()), performanceEntry.getCount()); totalCount += performanceEntry.getCount(); revokedSeries.add(new Second(performanceEntry.getDate()), performanceEntry.getRevoked()); totalRevoked += performanceEntry.getRevoked(); failureSeries.add(new Second(performanceEntry.getDate()), performanceEntry.getFailures()); totalFailures += performanceEntry.getFailures(); } TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(series); dataset.addSeries(revokedSeries); dataset.addSeries(failureSeries); chart = ChartFactory.createTimeSeriesChart("eID Trust Service Performance History", "Time (interval size " + intervalSize + " msec)", "Number of XKMS requests", dataset, true, false, false); chart.addSubtitle(new TextTitle(performance.get(0).getDate().toString() + " - " + performance.get(performance.size() - 1).getDate().toString())); TextTitle info = new TextTitle("Total number of successful requests: " + totalCount); info.setTextAlignment(HorizontalAlignment.LEFT); info.setPosition(RectangleEdge.BOTTOM); chart.addSubtitle(info); TextTitle info2 = new TextTitle( "Total number of revoked: " + totalRevoked + " expected=" + expectedRevoked); info2.setPosition(RectangleEdge.BOTTOM); info2.setTextAlignment(HorizontalAlignment.LEFT); chart.addSubtitle(info2); TextTitle info3 = new TextTitle("Total number of failures: " + totalFailures); info3.setPosition(RectangleEdge.BOTTOM); info3.setTextAlignment(HorizontalAlignment.LEFT); chart.addSubtitle(info3); chart.setBackgroundPaint(Color.WHITE); XYPlot plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.WHITE); DateAxis axis = (DateAxis) plot.getDomainAxis(); axis.setDateFormatOverride(new SimpleDateFormat("HH:mm:ss")); ValueAxis valueAxis = plot.getRangeAxis(); valueAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); plot.setRangeGridlinePaint(Color.black); plot.setDomainGridlinePaint(Color.black); plot.setRenderer(renderer); return chart; }
From source file:com.bdb.weather.display.stripchart.StripChart.java
/** * Add an item to a series./*www. j a v a 2 s . c o m*/ * * @param seriesName The name of the series to which the data is to be added * @param time The time of the data * @param value The value of the data */ public void addItem(String seriesName, LocalDateTime time, double value) { TimeSeries timeSeries = series.get(seriesName); Instant instant = Instant.from(time.atZone(ZoneId.systemDefault())); Date res = Date.from(instant); if (timeSeries != null) { timeSeries.removeAgedItems(false); timeSeries.addOrUpdate(new Second(res), value); Calendar c = Calendar.getInstance(); c.setTime(res); adjustDateAxis(c); } }
From source file:name.wramner.jmstools.analyzer.DataProvider.java
/** * Get a base64-encoded image for inclusion in an img tag with a chart with number of produced and consumed messages * per second.// www .j ava 2s . co m * * @return chart as base64 string. */ public String getBase64MessagesPerSecondImage() { TimeSeries timeSeriesConsumed = new TimeSeries("Consumed"); TimeSeries timeSeriesProduced = new TimeSeries("Produced"); TimeSeries timeSeriesTotal = new TimeSeries("Total"); for (PeriodMetrics m : getMessagesPerSecond()) { Second second = new Second(m.getPeriodStart()); timeSeriesConsumed.add(second, m.getConsumed()); timeSeriesProduced.add(second, m.getProduced()); timeSeriesTotal.add(second, m.getConsumed() + m.getProduced()); } TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection(timeSeriesConsumed); timeSeriesCollection.addSeries(timeSeriesProduced); timeSeriesCollection.addSeries(timeSeriesTotal); ByteArrayOutputStream bos = new ByteArrayOutputStream(); try { JFreeChart chart = ChartFactory.createTimeSeriesChart("Messages per second (TPS)", "Time", "Messages", timeSeriesCollection); chart.getPlot().setBackgroundPaint(Color.WHITE); ChartUtilities.writeChartAsPNG(bos, chart, 1024, 500); } catch (IOException e) { throw new UncheckedIOException(e); } return "data:image/png;base64," + Base64.getEncoder().encodeToString(bos.toByteArray()); }
From source file:DashboardInterface.LaunchGraph.java
private XYDataset createDataset4(int offset) { long dateMili = 0L; TimeSeries s1 = new TimeSeries(""); s1.add(new Second(new Date(dateMili)), 110); s1.add(new Second(new Date(dateMili + offset)), 110); TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(s1);/* w w w . jav a2 s . co m*/ return dataset; }
From source file:Data.java
/** * Creates a dataset, consisting of two series of monthly data. * * @return The dataset.//from w w w . j a v a2 s . co m * @throws ClassNotFoundException */ private static XYDataset createDataset(Statement stmt) throws ClassNotFoundException { TimeSeries s1 = new TimeSeries("Humidit"); TimeSeries s2 = new TimeSeries("Temprature"); ResultSet rs = null; try { String sqlRequest = "SELECT * FROM `t_temphum`"; rs = stmt.executeQuery(sqlRequest); Double hum; Double temp; Timestamp date; while (rs.next()) { hum = rs.getDouble("tmp_humidity"); temp = rs.getDouble("tmp_temperature"); date = rs.getTimestamp("tmp_date"); if (tempUnit == "F") { temp = celsiusToFahrenheit(temp.toString()); } if (date != null) { s1.add(new Second(date), hum); s2.add(new Second(date), temp); } else { JOptionPane.showMessageDialog(panelPrincipal, "Il manque une date dans la dase de donne", "Date null", JOptionPane.WARNING_MESSAGE); } } rs.close(); } catch (SQLException e) { String exception = e.toString(); if (e.getErrorCode() == 0) { JOptionPane.showMessageDialog(panelPrincipal, "Le serveur met trop de temps rpondre ! Veuillez rssayer plus tard ou contacter un administrateur", "Connection timed out", JOptionPane.ERROR_MESSAGE); } else { JOptionPane.showMessageDialog(panelPrincipal, "Voici l'exception : " + exception, "Titre : exception", JOptionPane.ERROR_MESSAGE); // TODO Auto-generated catch block e.printStackTrace(); } } catch (Exception e) { String exception = e.toString(); JOptionPane.showMessageDialog(panelPrincipal, "Voici l'exception : " + exception, "Titre : exception", JOptionPane.ERROR_MESSAGE); e.printStackTrace(); } // ****************************************************************** // More than 150 demo applications are included with the JFreeChart // Developer Guide...for more information, see: // // > http://www.object-refinery.com/jfreechart/guide.html // // ****************************************************************** TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(s1); dataset.addSeries(s2); return dataset; }