List of usage examples for org.jfree.chart ChartFactory createTimeSeriesChart
public static JFreeChart createTimeSeriesChart(String title, String timeAxisLabel, String valueAxisLabel, XYDataset dataset, boolean legend, boolean tooltips, boolean urls)
From source file:com.redhat.rhn.frontend.graphing.GraphGenerator.java
/** * Generate a JFreeChart class from specified parameters. * * @param height height in pixels of the image generated * @param width in pixels of the image generated * @param xAxisLabel label for the x axis * @param yAxisLabel label for the y axis * @param timeSeriesData List of TimeSeriesData[] DTO objects * @param labelMap a map containing the localized labels used * for the metrics. Contains simple "metricId" keys * with the localized Strings as the value. For example: * labelMap={"pctfree" -> "Percent Free", "memused" -> "Memory Used"} * @return JFreeChart representation//from w ww .j a v a 2 s . c o m */ public JFreeChart generateJFReeChart(int height, int width, String xAxisLabel, String yAxisLabel, List timeSeriesData, Map labelMap) { if (Context.getCurrentContext() == null || Context.getCurrentContext().getTimezone() == null || Context.getCurrentContext().getLocale() == null) { throw new IllegalArgumentException( "Context, Timezone or Locale is " + "NULL in the Context. Please make sure it has been set."); } XYDataset jfreeDataset = createDataset(timeSeriesData, labelMap); JFreeChart chart = ChartFactory.createTimeSeriesChart(null, // title xAxisLabel, // x-axis label yAxisLabel, // y-axis label jfreeDataset, // data true, // create legend? true, // generate tooltips? false // generate URLs? ); XYPlot plot = chart.getXYPlot(); DateAxis axis = (DateAxis) plot.getDomainAxis(); axis.setTimeZone(Context.getCurrentContext().getTimezone()); return chart; }
From source file:edu.ucla.stat.SOCR.chart.demo.CrosshairDemo3.java
protected JFreeChart createLegend(XYDataset dataset) { JFreeChart chart = ChartFactory.createTimeSeriesChart(chartTitle, domainLabel, rangeLabel, dataset, true, true, false);/*from www . j a va 2 s . c o m*/ // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART... chart.setBackgroundPaint(Color.white); XYPlot plot = (XYPlot) chart.getPlot(); XYItemRenderer renderer = plot.getRenderer(); if (renderer instanceof XYLineAndShapeRenderer) { XYLineAndShapeRenderer rr = (XYLineAndShapeRenderer) renderer; rr.setBaseShapesVisible(true); rr.setBaseShapesFilled(true); } renderer.setLegendItemLabelGenerator(new SOCRXYSeriesLabelGenerator()); return chart; }
From source file:com.sdk.connector.chart.CoherenceDomainRenderer.java
public CoherenceDomainRenderer(final String title, JPanel panel, String side) { sdf = Protocol.getInstance().getTimestampFormat(); serieFFT.setKey(side + " FFT Based"); serieLomb.setKey(side + " Lomb Based"); serieMemse.setKey(side + " AR Based"); dataset.addSeries(serieFFT);//from w ww .j ava 2 s . c o m dataset.addSeries(serieLomb); dataset.addSeries(serieMemse); chart = ChartFactory.createTimeSeriesChart(title, java.util.ResourceBundle.getBundle("com/sdk/connector/chart/Bundle").getString("coherence.xlabel"), java.util.ResourceBundle.getBundle("com/sdk/connector/chart/Bundle").getString("coherence.ylabel"), dataset, true, true, false); chart.getRenderingHints().put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); chart.getRenderingHints().put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); chart.getRenderingHints().put(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY); chart.getRenderingHints().put(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); chart.getRenderingHints().put(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); chart.getRenderingHints().put(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE); chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); chart.getRenderingHints().put(RenderingHints.KEY_TEXT_LCD_CONTRAST, 100); //chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.GREEN)); // chart.setBackgroundPaint(new Color(220,255,220,0)); //chart.setBackgroundImage(new javax.swing.ImageIcon(getClass().getResource("/com/sdk/connector/resources/background.png")).getImage()); chart.addSubtitle(rangeAnnotation); plot = (XYPlot) chart.getPlot(); XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); renderer.setSeriesLinesVisible(0, true); renderer.setSeriesShapesVisible(0, true); renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator( StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, sdf, new DecimalFormat("0.00"))); renderer.setSeriesOutlinePaint(0, Color.BLACK); if (side.startsWith( java.util.ResourceBundle.getBundle("com/sdk/connector/chart/Bundle").getString("side.left"))) { renderer.setSeriesPaint(0, Color.BLUE); leftSide = true; } else { renderer.setSeriesPaint(0, Color.RED); leftSide = false; } renderer.setSeriesShape(0, new Ellipse2D.Double(-1.0, -1.0, 3.0, 3.0)); DateTickUnit dtUnit = new DateTickUnit(DateTickUnitType.MINUTE, 1, tickSDF); final DateAxis domainAxis = (DateAxis) plot.getDomainAxis(); domainAxis.setTickUnit(dtUnit); // ValueAxis axis = plot.getDomainAxis(); // axis = plot.getRangeAxis(); // ((NumberAxis) axis).setTickUnit(new NumberTickUnit(100)); plot.setRenderer(renderer); plot.setBackgroundPaint(Color.WHITE); plot.setDomainGridlinePaint(Color.BLACK); plot.setRangeGridlinePaint(Color.BLACK); plot.getRenderer().setSeriesStroke(0, new BasicStroke(1.0f)); // plot.getRenderer().setSeriesStroke(1, new BasicStroke(1.0f)); plot.setForegroundAlpha(0.5f); plot.setNoDataMessage( java.util.ResourceBundle.getBundle("com/sdk/connector/chart/Bundle").getString("message.wait")); plot.setRangePannable(true); plot.setDomainPannable(true); Color color1 = new Color(0, 0, 0, 24); Color color2 = new Color(255, 255, 255, 24); GradientPaint gp = new GradientPaint(0, 0, color1, 0, 0, color2); plot.setBackgroundPaint(gp); chartPanel = new ChartPanel(chart); panel.setLayout(new GridLayout(0, 1)); panel.add(chartPanel); panel.repaint(); panel.revalidate(); }
From source file:dpnm.netmsuite.plc.manager.frontend.graph.TimeSeriesChartDemo1.java
/** * Creates a chart.// w w w . ja v a2s . c om * * @param dataset a dataset. * * @return A chart. */ private JFreeChart createChart(XYDataset dataset) { JFreeChart chart = null; if (this.graphType == 1) { chart = ChartFactory.createTimeSeriesChart(title, // title "Minute", // x-axis label "Packets/sec", // y-axis label dataset, // data true, // create legend? true, // generate tooltips? false // generate URLs? ); } else if (this.graphType == 2) { chart = ChartFactory.createTimeSeriesChart(title, // title "Minute", // x-axis label "Bytes/sec", // y-axis label dataset, // data true, // create legend? true, // generate tooltips? false // generate URLs? ); } else { chart = ChartFactory.createTimeSeriesChart(title, // title "Minute", // x-axis label "KBps", // y-axis label dataset, // data true, // create legend? true, // generate tooltips? false // generate URLs? ); } chart.setBackgroundPaint(Color.white); XYPlot plot = (XYPlot) chart.getPlot(); plot.setBackgroundPaint(Color.lightGray); plot.setDomainGridlinePaint(Color.white); plot.setRangeGridlinePaint(Color.white); plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0)); plot.setDomainCrosshairVisible(true); plot.setRangeCrosshairVisible(true); XYItemRenderer r = plot.getRenderer(); if (r instanceof XYLineAndShapeRenderer) { XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r; renderer.setBaseShapesVisible(true); renderer.setBaseShapesFilled(true); } DateAxis axis = (DateAxis) plot.getDomainAxis(); axis.setDateFormatOverride(new SimpleDateFormat("hh:mm")); return chart; }
From source file:org.esa.snap.timeseries.ui.graph.TimeSeriesGraphTopComponent.java
private void initUI() { final boolean displayLegend = true; final boolean showTooltips = true; final boolean showUrls = false; chart = ChartFactory.createTimeSeriesChart(null, DEFAULT_DOMAIN_LABEL, DEFAULT_RANGE_LABEL, null, displayLegend, showTooltips, showUrls); graphModel = new TimeSeriesGraphModel(chart.getXYPlot(), validator); graphForm = new TimeSeriesGraphForm(graphModel, chart, validator, HELP_ID); setDisplayName(Bundle.CTL_TimeSeriesGraphTopComponentName()); setLayout(new BorderLayout()); add(graphForm.getControl(), BorderLayout.CENTER); ProductSceneView selectedView = SnapApp.getDefault().getSelectedProductSceneView(); if (selectedView != null) { maySetCurrentView(selectedView); }//from www.j a v a2s .co m SnapApp.getDefault().getSelectionSupport(ProductSceneView.class).addHandler((oldValue, newValue) -> { if (oldValue != null) { maySetCurrentView(null); } if (newValue != null) { maySetCurrentView(newValue); } }); }
From source file:compecon.dashboard.panel.StatesPanel.java
protected ChartPanel createGovernmentTransfersPanel(Currency currency) { TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection(); timeSeriesCollection.addSeries(ApplicationContext.getInstance().getModelRegistry() .getNationalEconomyModel(currency).householdsModel.governmentTransfersModel.getTimeSeries()); JFreeChart chart = ChartFactory.createTimeSeriesChart("Government Transfers", "Date", "Government Transfers", (XYDataset) timeSeriesCollection, true, true, false); configureChart(chart);/*from w w w. j ava 2s .c om*/ return new ChartPanel(chart); }
From source file:compecon.dashboard.panel.MoneyPanel.java
protected ChartPanel createMoneySupplyPanel() { TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection(); for (Currency currency : Currency.values()) timeSeriesCollection.addSeries(ApplicationContext.getInstance().getModelRegistry() .getNationalEconomyModel(currency).moneySupplyM0Model.getTimeSeries()); for (Currency currency : Currency.values()) timeSeriesCollection.addSeries(ApplicationContext.getInstance().getModelRegistry() .getNationalEconomyModel(currency).moneySupplyM1Model.getTimeSeries()); for (Currency currency : Currency.values()) timeSeriesCollection.addSeries(ApplicationContext.getInstance().getModelRegistry() .getNationalEconomyModel(currency).moneySupplyM2Model.getTimeSeries()); JFreeChart chart = ChartFactory.createTimeSeriesChart("Money Supply to Non-Banks", "Date", "Money Supply", (XYDataset) timeSeriesCollection, true, true, false); configureChart(chart);// w ww .j a va 2 s .co m return new ChartPanel(chart); }
From source file:com.experiments.DynamicDataDemo.java
/** * Creates a sample chart./*from w w w . j a v a2 s .co m*/ * * @param dataset * the dataset. * * @return A sample chart. */ private JFreeChart createChart(final XYDataset dataset) { final JFreeChart result = ChartFactory.createTimeSeriesChart("Dynamic Data Demo", "Time", "Value", dataset, true, true, false); final XYPlot plot = result.getXYPlot(); ValueAxis axis = plot.getDomainAxis(); axis.setAutoRange(true); axis.setFixedAutoRange(60000.0); // 60 seconds axis = plot.getRangeAxis(); axis.setRange(0.0, 200.0); axis.setVisible(false); return result; }
From source file:com.leonarduk.finance.analysis.BuyAndSellSignalsToChart.java
public static void displayBuyAndSellChart(final TimeSeries series, final List<AbstractStrategy> strategies, final String name) { /**/* w ww . ja v a2 s .c o m*/ * Building chart datasets */ final TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries( BuyAndSellSignalsToChart.buildChartTimeSeries(series, new ClosePriceIndicator(series), name)); /** * Creating the chart */ final JFreeChart chart = ChartFactory.createTimeSeriesChart(name, // title "Date", // x-axis label "Price", // y-axis label dataset, // data true, // create legend? true, // generate tooltips? false // generate URLs? ); final XYPlot plot = (XYPlot) chart.getPlot(); // final DateAxis axis = (DateAxis) plot.getDomainAxis(); // axis.setDateFormatOverride(new SimpleDateFormat("MM-dd HH:mm")); /** * Running the strategy and adding the buy and sell signals to plot */ for (final AbstractStrategy strategy2 : strategies) { BuyAndSellSignalsToChart.addBuySellSignals(series, strategy2, plot); } /** * Displaying the chart */ BuyAndSellSignalsToChart.displayChart(chart); }
From source file:de.suse.swamp.modules.scheduledjobs.Statistics.java
/** * Generating the graphs that show the amount of running finished wfs over the time. *///from www . j a v a 2 s . c o m protected void generateWorkflowGraph(String templateName, Date startDate, Date endDate) throws Exception { List stats = StatisticStorage.loadStats(templateName, startDate, endDate); // only generate if we have stats: if (stats != null && stats.size() > 0) { TimeSeriesCollection dataset = new TimeSeriesCollection(); TimeSeriesCollection avgdataset = new TimeSeriesCollection(); TimeSeries serie = new TimeSeries("running workflows", Day.class); TimeSeries avgserie = new TimeSeries("average age", Day.class); for (Iterator datait = stats.iterator(); datait.hasNext();) { Dbstatistics statisticItem = (Dbstatistics) datait.next(); serie.addOrUpdate(new Day(statisticItem.getDate()), statisticItem.getRunningcount()); avgserie.addOrUpdate(new Day(statisticItem.getDate()), statisticItem.getAvgage() / (3600 * 24)); } dataset.addSeries(serie); avgdataset.addSeries(avgserie); JFreeChart chart = ChartFactory.createTimeSeriesChart("Running " + templateName + " workflows", "Date", "running workflows", dataset, false, false, false); // modify chart appearance chart.setBackgroundImageAlpha(0.5f); XYPlot plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.lightGray); plot.setDomainGridlinePaint(Color.white); plot.setRangeGridlinePaint(Color.white); plot.getRangeAxis().setLabelPaint(Color.blue); // add the second line: final NumberAxis axis2 = new NumberAxis("Avg. age in days"); axis2.setLabelPaint(Color.red); plot.setRangeAxis(1, axis2); plot.setDataset(1, avgdataset); plot.mapDatasetToRangeAxis(1, 1); final XYLineAndShapeRenderer renderer2 = new XYLineAndShapeRenderer(); renderer2.setDrawOutlines(false); renderer2.setDrawSeriesLineAsPath(true); renderer2.setBaseShapesVisible(false); plot.setRenderer(1, renderer2); File image = new File(statPath + fs + templateName + ".png"); if (image.exists()) image.delete(); try { ChartUtilities.saveChartAsPNG(image, chart, 750, 200); } catch (Exception e) { Logger.ERROR("Error generating graph for " + templateName + ", e: " + e.getMessage()); e.printStackTrace(); throw e; } } }