List of usage examples for org.jfree.data.time RegularTimePeriod createInstance
public static RegularTimePeriod createInstance(Class c, Date millisecond, TimeZone zone)
From source file:com.igalia.java.zk.components.JFreeChartEngine.java
/** * transfer a XYModel into JFreeChart TimeSeriesCollection. */// w w w. j a va2s. co m private XYDataset XYModelToTimeDataset(XYModel model, Chart chart) { TimeZone tz = chart.getTimeZone(); if (tz == null) tz = TimeZones.getCurrent(); String p = chart.getPeriod(); if (p == null) p = Chart.MILLISECOND; Class pclass = (Class) _periodMap.get(p); if (pclass == null) { throw new UiException("Unsupported period for Time Series chart: " + p); } final TimeSeriesCollection dataset = new TimeSeriesCollection(tz); for (final Iterator it = model.getSeries().iterator(); it.hasNext();) { final Comparable series = (Comparable) it.next(); final org.jfree.data.time.TimeSeries tser = new org.jfree.data.time.TimeSeries(series); //new org.jfree.data.time.TimeSeries(series, pclass); //deprecated since JFreeChart 10.0.13 final int size = model.getDataCount(series); for (int j = 0; j < size; ++j) { final RegularTimePeriod period = RegularTimePeriod.createInstance(pclass, new Date(model.getX(series, j).longValue()), tz); tser.addOrUpdate(period, model.getY(series, j)); } dataset.addSeries(tser); } return dataset; }
From source file:com.jtstand.swing.StatsPanel.java
public JFreeChart getChartTime() { TreeMap<String, List<TestStepInstance>> s = getGroupedSteps(getFilteringIterator()); if (s == null || s.size() == 0) { return null; }//w w w.j av a2 s . com TimeSeriesCollection dataset = new TimeSeriesCollection(); for (Iterator<String> en = s.keySet().iterator(); en.hasNext();) { String groupName = en.next(); List<TestStepInstance> stps = s.get(groupName); // TimeSeries pop = new TimeSeries(groupName, Millisecond.class); TimeSeries pop = new TimeSeries(groupName); for (Iterator<TestStepInstance> it = stps.iterator(); it.hasNext();) { TestStepInstance step = it.next(); Number num = getNumber(step); if (num != null) { switch (chartMode) { case STEP_TIME: pop.addOrUpdate(RegularTimePeriod.createInstance(Millisecond.class, new Date(step.getStartTime()), TimeZone.getDefault()), num); break; case SEQUENCE_TIME: // pop.addOrUpdate(RegularTimePeriod.createInstance(Millisecond.class, new Date(step.getTestSequenceInstance().getStartTime()), RegularTimePeriod.DEFAULT_TIME_ZONE), num); pop.addOrUpdate(RegularTimePeriod.createInstance(Millisecond.class, new Date(step.getTestSequenceInstance().getCreateTime()), TimeZone.getDefault()), num); break; } } } dataset.addSeries(pop); } JFreeChart chart = null; switch (chartMode) { case STEP_TIME: chart = ChartFactory.createTimeSeriesChart(null, "Step Started Time", getValueString(), dataset, isGrouping(), true, false); break; case SEQUENCE_TIME: chart = ChartFactory.createTimeSeriesChart(null, "Sequence Started Time", getValueString(), dataset, isGrouping(), true, false); break; } chart.setBackgroundPaint((Paint) UIManager.get("Panel.background")); XYPlot plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.white); XYLineAndShapeRenderer renderer5 = new XYLineAndShapeRenderer(); renderer5.setBaseSeriesVisibleInLegend(false); plot.setRenderer(renderer5); plot.setDomainGridlinesVisible(true); plot.setRangeGridlinesVisible(true); plot.setRangeCrosshairVisible(true); plot.setDomainCrosshairVisible(true); // chart.setTitle(valueName); placeLimitMarkers(plot, true); //renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator()); renderer5.setBaseToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance()); /* coloring */ if (isCategorization()) { // TreeMap<String, Color> cmap = new TreeMap<String, Color>(); int i = 0; for (Iterator<String> it = catstats.keySet().iterator(); it.hasNext(); i++) { String groupName = it.next(); Color c = ChartCategories.getColor(i); for (int j = 0; j < dataset.getSeriesCount(); j++) { TimeSeries ts = dataset.getSeries(j); if (ts.getKey().equals(groupName)) { renderer5.setSeriesPaint(j, c); } } } } else { renderer5.setSeriesPaint(0, ChartCategories.getColor(0)); } // chart.addProgressListener(new ChartProgressListener() { // // public void chartProgress(final ChartProgressEvent progress) { // SwingUtilities.invokeLater( // new Runnable() { // // @Override // public void run() { // // System.out.println("progress:" + progress + " " + progress.getType()); // if (progress.getType() == ChartProgressEvent.DRAWING_FINISHED) { // if (plot != null) { // if (plot.isDomainCrosshairVisible() && plot.isDomainCrosshairLockedOnData()) { //// System.out.println("getDomainCrosshairValue:" + plot.getDomainCrosshairValue()); // double xx = plot.getDomainCrosshairValue(); // if (xx != 0.0) { // long x = (long) xx; // System.out.println(new Date(x)); // for (TestStepInstance step : testStepInstances.getSteps()) { // if (step.getStartTime() != null && step.getStartTime().equals(x)) { // testStepInstances.selectStep(step); // } // } // System.out.println(new Date(x)); // } // } //// if (plot.isRangeCrosshairVisible()) { //// System.out.println("getRangeCrosshairValue:" + plot.getRangeCrosshairValue()); //// } // } // } // } // }); // } // }); // chart.addChangeListener(new ChartChangeListener() { // // public void chartChanged(ChartChangeEvent event) { // System.out.println("event:" + event); // if (event != null) { //// JFreeChart chart = event.getChart(); //// System.out.println("chart:" + chart); //// if (chart != null) { //// System.out.println("title:" + event.getChart().getTitle()); //// } // System.out.println("type:" + event.getType()); // if (plot != null) { // if (plot.isDomainCrosshairVisible()) { // System.out.println("getDomainCrosshairValue:" + plot.getDomainCrosshairValue()); // long x = (long) plot.getDomainCrosshairValue(); // for (TestStepInstance step : testStepInstances.getSteps()) { // if (step.getStartTime() != null && step.getStartTime().equals(x)) { // testStepInstances.selectStep(step); // } // } // System.out.println(new Date(x)); // } // if (plot.isRangeCrosshairVisible()) { // System.out.println("getRangeCrosshairValue:" + plot.getRangeCrosshairValue()); // } // } // } // } // }); chart.setTextAntiAlias(false); return chart; }
From source file:org.operamasks.faces.render.graph.ChartRenderer.java
private XYTextAnnotation createTimeSeriesTextAnnotation(UITextAnnotation at, Class timePeriodClass) { Date time = ChartUtils.convertDate(at.getxValue()); if (time == null) { return null; // FIXME }//ww w. j a va 2s .c o m RegularTimePeriod timePeriod = RegularTimePeriod.createInstance(timePeriodClass, time, RegularTimePeriod.DEFAULT_TIME_ZONE); double x = timePeriod.getFirstMillisecond(); double y = Coercion.coerceToDouble(at.getyValue()); return createXYTextAnnotation(at, x, y); }
From source file:org.lmn.fc.frameworks.starbase.plugins.observatory.ui.tabs.charts.ChartHelper.java
/*********************************************************************************************** * Create a dummy TimeSeriesDataItem at the origin of the Domain. * * @param timeseriescollection/*from w w w. ja v a 2 s.c om*/ * @param timeseries * @param domainstart * @param debug * * @return TimeSeriesDataItem */ public static TimeSeriesDataItem createDummyTimeSeriesDataItemAtOrigin( final TimeSeriesCollection timeseriescollection, final TimeSeries timeseries, final int domainstart, final boolean debug) { final String SOURCE = "ChartHelper.createDummyTimeSeriesDataItemAtOrigin() [domainstart=" + domainstart + "]"; LOGGER.debug(debug, SOURCE); return new TimeSeriesDataItem( RegularTimePeriod.createInstance(timeseries.getTimePeriodClass(), new Date(calculateDomainSliderMillis(ChartUIComponentPlugin.DOMAIN_SLIDER_MINIMUM, ChartUIComponentPlugin.DOMAIN_SLIDER_MAXIMUM, domainstart, timeseriescollection.getDomainLowerBound(true), timeseriescollection.getDomainUpperBound(true), debug)), TimeZone.getDefault()), timeseries.getMinY()); }