List of usage examples for org.jfree.data.time TimeSeriesCollection addSeries
public void addSeries(TimeSeries series)
From source file:tools.descartes.bungee.chart.ChartGenerator.java
public static XYPlot createDemandPlot(final List<ArrivalRateTuple> intensities, final IntensityDemandMapping mapping) { final TimeSeriesCollection dataset = new TimeSeriesCollection(); final TimeSeries series = new TimeSeries("resource demand"); for (ArrivalRateTuple intensity : intensities) { long milliseconds = (referenceDate.getTime() / 1000 + (long) Math.floor(intensity.getTimeStamp())) * 1000;/*from w w w. jav a 2 s .c o m*/ series.add(new FixedMillisecond(milliseconds), mapping.getResourceDemand(intensity.getArrivalRate())); } dataset.addSeries(series); XYStepRenderer renderer = new XYStepRenderer(); renderer.setSeriesPaint(0, Color.RED); renderer.setSeriesStroke(0, new BasicStroke(STROKE_WIDTH)); final NumberAxis rangeAxis = new NumberAxis("Resource Amount"); rangeAxis.setAutoRangeIncludesZero(true); //rangeAxis.setRange(0,2.2); rangeAxis.setTickUnit(new NumberTickUnit(2)); final XYPlot amountPlot = new XYPlot(dataset, null, rangeAxis, renderer); return amountPlot; }
From source file:com.alibaba.dubbo.monitor.simple.SimpleMonitorService.java
private static void createChart(String key, String service, String method, String date, String[] types, Map<String, long[]> data, double[] summary, String path) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmm"); DecimalFormat numberFormat = new DecimalFormat("###,##0.##"); TimeSeriesCollection xydataset = new TimeSeriesCollection(); for (int i = 0; i < types.length; i++) { String type = types[i];// w ww. j a v a2s . co m TimeSeries timeseries = new TimeSeries(type); for (Map.Entry<String, long[]> entry : data.entrySet()) { try { timeseries.add(new Minute(dateFormat.parse(date + entry.getKey())), entry.getValue()[i]); } catch (ParseException e) { logger.error(e.getMessage(), e); } } xydataset.addSeries(timeseries); } JFreeChart jfreechart = ChartFactory.createTimeSeriesChart( "max: " + numberFormat.format(summary[0]) + (summary[1] >= 0 ? " min: " + numberFormat.format(summary[1]) : "") + " avg: " + numberFormat.format(summary[2]) + (summary[3] >= 0 ? " sum: " + numberFormat.format(summary[3]) : ""), toDisplayService(service) + " " + method + " " + toDisplayDate(date), key, xydataset, true, true, false); jfreechart.setBackgroundPaint(Color.WHITE); XYPlot xyplot = (XYPlot) jfreechart.getPlot(); xyplot.setBackgroundPaint(Color.WHITE); xyplot.setDomainGridlinePaint(Color.GRAY); xyplot.setRangeGridlinePaint(Color.GRAY); xyplot.setDomainGridlinesVisible(true); xyplot.setRangeGridlinesVisible(true); DateAxis dateaxis = (DateAxis) xyplot.getDomainAxis(); dateaxis.setDateFormatOverride(new SimpleDateFormat("HH:mm")); BufferedImage image = jfreechart.createBufferedImage(600, 300); try { if (logger.isInfoEnabled()) { logger.info("write chart: " + path); } File methodChartFile = new File(path); File methodChartDir = methodChartFile.getParentFile(); if (methodChartDir != null && !methodChartDir.exists()) { methodChartDir.mkdirs(); } FileOutputStream output = new FileOutputStream(methodChartFile); try { ImageIO.write(image, "png", output); output.flush(); } finally { output.close(); } } catch (IOException e) { logger.warn(e.getMessage(), e); } }
From source file:fr.paris.lutece.plugins.form.utils.FormUtils.java
/** * create graph dataset function of the statistic form submit * @param listStatistic the list of statistic of form submit * @param strTimesUnit the times unit of axis x(Day,Week,Month) * @return create graph dataset function of the statistic form submit *//*from www. java2s .c om*/ private static XYDataset createDataset(List<StatisticFormSubmit> listStatistic, String strTimesUnit) { TimeSeries series = null; if (strTimesUnit.equals(CONSTANT_GROUP_BY_DAY)) { series = new TimeSeries(EMPTY_STRING, Day.class); for (StatisticFormSubmit statistic : listStatistic) { series.add(new Day((Date) statistic.getStatisticDate()), statistic.getNumberResponse()); } } else if (strTimesUnit.equals(CONSTANT_GROUP_BY_WEEK)) { series = new TimeSeries(EMPTY_STRING, Week.class); for (StatisticFormSubmit statistic : listStatistic) { series.add(new Week((Date) statistic.getStatisticDate()), statistic.getNumberResponse()); } } else if (strTimesUnit.equals(CONSTANT_GROUP_BY_MONTH)) { series = new TimeSeries(EMPTY_STRING, Month.class); for (StatisticFormSubmit statistic : listStatistic) { series.add(new Month((Date) statistic.getStatisticDate()), statistic.getNumberResponse()); } } TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(series); return dataset; }
From source file:org.codehaus.mojo.chronos.chart.ResponseChartGenerator.java
private TimeSeriesCollection createResponseDataset(String name, ResponsetimeSamples samples, ResourceBundle bundle, ReportConfig config) { TimeSeries series = new TimeSeries(name, Millisecond.class); samples.appendResponsetimes(series, config.getResponsetimedivider()); TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(series); String averageLabel = bundle.getString("chronos.label.average"); TimeSeries averageseries = MovingAverage.createMovingAverage(series, averageLabel, config.getAverageduration(), 0); dataset.addSeries(averageseries);/*from w w w . j a va2 s . co m*/ return dataset; }
From source file:org.jfree.chart.demo.TimeSeriesDemo8.java
/** * Creates a sample dataset./*w w w.ja v a 2s.c o m*/ * * @return a sample dataset. */ private XYDataset createDataset() { final TimeSeries eur = DemoDatasetFactory.createEURTimeSeries(); final TimeSeries mav = MovingAverage.createMovingAverage(eur, "30 day moving average", 30, 30); final TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(eur); dataset.addSeries(mav); return dataset; }
From source file:ws.moor.bt.gui.charts.RawDownloadRate.java
private TimeSeriesCollection getTimeSeriesCollection() { TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(dataSource.getTimeSeries()); dataset.addSeries(createAverageSeries(dataSource.getTimeSeries())); return dataset; }
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.mwc.debrief.sensorfusion.views.MouseClickProblemDemo.java
/** * @param title/*from w w w . ja v a 2 s.c o m*/ * the frame title. */ public MouseClickProblemDemo(final String title) { super(title); final TimeSeries s1 = new TimeSeries("Series to click"); s1.add(new Month(2, 2001), 181.8); s1.add(new Month(3, 2001), 167.3); s1.add(new Month(4, 2001), 153.8); s1.add(new Month(5, 2001), 167.6); s1.add(new Month(6, 2001), 158.8); s1.add(new Month(7, 2001), 148.3); s1.add(new Month(8, 2001), 153.9); s1.add(new Month(9, 2001), 142.7); s1.add(new Month(10, 2001), 123.2); final TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(s1); final JFreeChart chart = ChartFactory.createTimeSeriesChart("[Alt]-click to switch orientation", // title "Time axis", // x-axis label "Value axis", // y-axis label dataset, // data false, // create legend? false, // generate tooltips? false // generate URLs? ); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(500, 270)); chartPanel.addChartMouseListener(new ChartMouseListener() { public void chartMouseMoved(final ChartMouseEvent arg0) { } public void chartMouseClicked(final ChartMouseEvent arg0) { System.out.println("clicked on:" + arg0.getEntity()); if (arg0.getTrigger().isAltDown()) { if (chart.getXYPlot().getOrientation() == PlotOrientation.HORIZONTAL) chart.getXYPlot().setOrientation(PlotOrientation.VERTICAL); else chart.getXYPlot().setOrientation(PlotOrientation.HORIZONTAL); } } }); setContentPane(chartPanel); }
From source file:com.charts.IntradayChart.java
public IntradayChart(YStockQuote currentStock) { TimeSeries series = new TimeSeries(currentStock.get_name()); ArrayList<String> fiveDayData = currentStock.get_one_day_data(); int length = fiveDayData.size(); for (int i = 17; i < length; i++) { String[] data = fiveDayData.get(i).split(","); Date time = new Date((long) Integer.parseInt(data[0]) * 1000); DateFormat df = new SimpleDateFormat("MM-dd-yyyy-h-m"); series.addOrUpdate(new Minute(time), Double.parseDouble(data[1])); }//from w w w . j a v a2 s .c o m TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(series); JFreeChart chart = ChartFactory.createTimeSeriesChart( currentStock.get_name() + "(" + currentStock.get_symbol() + ")" + " Intraday", "Date", "Price", dataset, true, true, false); XYPlot plot = (XYPlot) chart.getPlot(); plot.setBackgroundPaint(Color.WHITE); plot.setDomainCrosshairVisible(true); plot.setRangeCrosshairVisible(true); ValueAxis yAxis = (ValueAxis) plot.getRangeAxis(); DateAxis xAxis = (DateAxis) plot.getDomainAxis(); xAxis.setTimeline(SegmentedTimeline.newMondayThroughFridayTimeline()); xAxis.setDateFormatOverride(new SimpleDateFormat("h:m a")); xAxis.setTickMarkPosition(DateTickMarkPosition.MIDDLE); //xAxis.setVerticalTickLabels(true); chartPanel = new ChartPanel(chart); chart.setBackgroundPaint(chartPanel.getBackground()); plot.setDomainGridlinePaint(Color.lightGray); plot.setRangeGridlinePaint(Color.lightGray); chartPanel.setVisible(true); chartPanel.revalidate(); chartPanel.repaint(); }
From source file:ws.moor.bt.gui.charts.PiecesStats.java
private TimeSeriesCollection getTimeSeriesCollection() { TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(validSource.getTimeSeries()); dataset.addSeries(pendingSource.getTimeSeries()); dataset.addSeries(hashFailed.getTimeSeries()); return dataset; }