List of usage examples for org.jfree.chart.axis DateAxis setDateFormatOverride
public void setDateFormatOverride(DateFormat formatter)
From source file:org.tolven.graph.GraphMenuEventHandler.java
/** * Creates a chart based on MenuData//from w w w .ja v a 2 s . c om * @param dataset a dataset * @return A chart suitable for rendering * @throws Exception */ private JFreeChart createChart() throws Exception { XYDataset xyDataset = createDataset(); Properties menuEventHandlerData = getAction().getMenuEventHandlerDataMap(); String title = menuEventHandlerData.getProperty("title"); String xAxisLabel = menuEventHandlerData.getProperty("xAxisLabel"); String yAxisLabel = menuEventHandlerData.getProperty("yAxisLabel"); JFreeChart chart = ChartFactory.createTimeSeriesChart(title, // title xAxisLabel, // x-axis label yAxisLabel, // y-axis label xyDataset, // 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("MMM-yyyy")); //CCHIT merge NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); // rangeAxis.setStandardTickUnits(NumberAxis.cr); NumberFormat formatter = new DecimalFormat("#0.00"); rangeAxis.setAutoRangeIncludesZero(false); rangeAxis.setNumberFormatOverride(formatter); return chart; }
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; }// w w w .j a v a 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:ec.ui.chart.RevisionChartPanel.java
private void configureAxis(XYPlot plot) { SimpleDateFormat sdf = new SimpleDateFormat("MM-yyyy"); DateAxis dateAxis = new DateAxis(); dateAxis.setTickMarkPosition(DateTickMarkPosition.MIDDLE); dateAxis.setDateFormatOverride(sdf); plot.setDomainAxis(dateAxis);// w ww .j av a2 s.c o m NumberAxis yaxis = new NumberAxis(); plot.setRangeAxis(yaxis); }
From source file:de.uniol.ui.tsv.ui.LineChartDialog.java
/** * @return the resulting chart object//from w ww . ja v a 2s.c o m */ protected JFreeChart createChart() { JFreeChart chart = ChartFactory.createTimeSeriesChartFast(title, xTitle, yTitle, xy, true, false, false); chart.setBackgroundPaint(Color.white); chart.getLegend().setBackgroundPaint(new Color(224, 224, 224)); FastXYPlot plot = (FastXYPlot) chart.getPlot(); // plot.setBackgroundPaint(new Color(224, 224, 224)); plot.setBackgroundPaint(new Color(77, 77, 77)); plot.setDomainGridlinePaint(Color.lightGray); plot.setRangeGridlinePaint(Color.lightGray); plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0)); StandardXYItemRendererFast r = new StandardXYItemRendererFast(StandardXYItemRendererFast.LINES, null, null); plot.setRenderer(r); for (int i : seriesStrokes.keySet()) { r.setSeriesStroke(i, seriesStrokes.get(i)); } for (int i : seriesColors.keySet()) { r.setSeriesPaint(i, seriesColors.get(i)); } DateAxis da = new DateAxis(xTitle); if (useRelativeHourFormat) { da.setDateFormatOverride(new RelativeHourFormat()); } da.setLowerMargin(0.03); plot.setDomainAxis(da); if (minRange != 0.0 && maxRange != 0.0) { ValueAxis yaxis = plot.getRangeAxis(); yaxis.setRange(new Range(minRange, maxRange)); } return chart; }
From source file:de.fischer.thotti.reportgen.diagram.ChartGenerator.java
private JFreeChart createChart(final String chartTitle, final XYDataset xyDataset) { JFreeChart chart = ChartFactory.createTimeSeriesChart(chartTitle, // title "Date", // x-axis label "Seconds", // y-axis label xyDataset, // data true, // create legend? false, // generate tooltips? false // generate URLs? );// w w w. j a v a 2s . c o m // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART... chart.setBackgroundPaint(Color.white); // final StandardLegend legend = (StandardLegend) chart.getLegend(); // legend.setDisplaySeriesShapes(true); // get a reference to the plot for further customisation... final XYPlot plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.WHITE); // plot.setAxisOffset(new Spacer(Spacer.ABSOLUTE, 5.0, 5.0, 5.0, 5.0)); plot.setDomainGridlinePaint(Color.gray); plot.setRangeGridlinePaint(Color.lightGray); final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); //renderer.setSeriesLinesVisible(1, false); //renderer.setSeriesLinesVisible(0, false); plot.setRenderer(renderer); // change the auto tick unit selection to integer units only... final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); // OPTIONAL CUSTOMISATION COMPLETED. DateAxis axis = (DateAxis) plot.getDomainAxis(); axis.setDateFormatOverride(new SimpleDateFormat("dd-MM-yyyy")); return chart; }
From source file:com.bdb.weather.display.summary.TemperatureDeviationPlotPanel.java
public TemperatureDeviationPlotPanel(SummaryInterval interval, ViewLauncher theLauncher, SummarySupporter theSupporter) { this.setPrefSize(500, 300); this.interval = interval; chart = ChartFactory.createXYBarChart("Deviation from Average Temperature", "Date", true, "Deviation (" + Temperature.getDefaultUnit() + ")", null, PlotOrientation.VERTICAL, true, true, false);/*from ww w . j a v a 2 s .c om*/ chartViewer = new ChartViewer(chart); chartViewer.setPrefSize(500, 300); chartViewer.addChartMouseListener(new ChartMouseListenerFX() { @Override public void chartMouseClicked(ChartMouseEventFX event) { ChartEntity entity = event.getEntity(); // // Was a point on the plot selected? // if (entity instanceof XYItemEntity) { XYItemEntity itemEntity = (XYItemEntity) entity; XYDataset dataset = itemEntity.getDataset(); Number x = dataset.getXValue(itemEntity.getSeriesIndex(), itemEntity.getItem()); LocalDate date = LocalDate.from(Instant.ofEpochMilli(x.longValue())); boolean doubleClick = event.getTrigger().getClickCount() == 2; if (doubleClick) { supporter.launchView(launcher, date); } } } @Override public void chartMouseMoved(ChartMouseEventFX event) { // Do nothing } }); deviationPlot = (XYPlot) chart.getPlot(); this.launcher = theLauncher; this.supporter = theSupporter; DateFormat dateFormat = interval.getLegacyFormat(); StandardXYItemLabelGenerator labelGen = new StandardXYItemLabelGenerator( StandardCategoryItemLabelGenerator.DEFAULT_LABEL_FORMAT_STRING, dateFormat, Temperature.getDefaultFormatter()); StandardXYToolTipGenerator ttGen = new StandardXYToolTipGenerator( StandardCategoryToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT_STRING, dateFormat, Temperature.getDefaultFormatter()); valueAxis = deviationPlot.getRangeAxis(); valueAxis.setUpperMargin(.20); valueAxis.setLowerMargin(.20); deviationPlot.getDomainAxis().setVerticalTickLabels(true); DateAxis dateAxis = (DateAxis) deviationPlot.getDomainAxis(); dateAxis.setDateFormatOverride(dateFormat); //dateAxis.setTickUnit(interval.getDateTickUnit()); //DefaultTableColumnModel colModel = new DefaultTableColumnModel(); dataTable = new TableView(); //dataTable.setModel(tableModel); //dataTable.setColumnModel(colModel); //dataTable.setAutoCreateColumnsFromModel(false); for (int i = 0; i < TABLE_HEADINGS.length; i++) { TableColumn col = new TableColumn(); col.setText(TABLE_HEADINGS[i]); //col.setModelIndex(i); //colModel.addColumn(col); } //tableModel.setColumnCount(TABLE_HEADINGS.length); this.setTabContents(chartViewer, dataTable); lowRenderer.setBasePaint(Color.BLUE); lowRenderer.setBaseItemLabelGenerator(labelGen); lowRenderer.setBaseToolTipGenerator(ttGen); lowRenderer.setBarAlignmentFactor(.6); lowRenderer.setShadowVisible(false); meanRenderer.setSeriesPaint(0, Color.CYAN); meanRenderer.setBaseItemLabelGenerator(labelGen); meanRenderer.setBaseToolTipGenerator(ttGen); meanRenderer.setBarAlignmentFactor(.3); meanRenderer.setShadowVisible(false); highRenderer.setSeriesPaint(0, Color.GRAY); highRenderer.setBaseItemLabelGenerator(labelGen); highRenderer.setBaseToolTipGenerator(ttGen); highRenderer.setShadowVisible(false); }
From source file:de.kletterfreak98.xmass.ui.WeightChart.java
public WeightChart(String title, TimeSeries values) { super(title); setIconImage(/*from ww w. jav a 2 s . c o m*/ new ImageIcon(getClass().getClassLoader().getResource("de/kletterfreak98/xmass/resources/fav.png")) .getImage()); final String chartTitle = strings.getString("weightcourse"); final XYDataset dataset = new TimeSeriesCollection(values); final JFreeChart chart = ChartFactory.createTimeSeriesChart(chartTitle, strings.getString("date"), strings.getString("weightinkg"), dataset, false, true, false); final XYPlot plot = chart.getXYPlot(); plot.setDataset(1, new TimeSeriesCollection(values)); plot.mapDatasetToRangeAxis(1, 1); final XYItemRenderer renderer = plot.getRenderer(); renderer.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance()); if (renderer instanceof StandardXYItemRenderer) { final StandardXYItemRenderer rr = (StandardXYItemRenderer) renderer; rr.setShapesFilled(true); } final StandardXYItemRenderer renderer2 = new StandardXYItemRenderer(); renderer2.setSeriesPaint(0, Color.black); renderer.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance()); plot.setRenderer(1, renderer2); final DateAxis axis = (DateAxis) plot.getDomainAxis(); SimpleDateFormat sdf; if (Main.settings.getLang().equals(Locale.GERMANY)) { sdf = new SimpleDateFormat("dd.MM.yyyy"); axis.setDateFormatOverride(sdf); } else { sdf = new SimpleDateFormat("MM/dd/yyyy"); axis.setDateFormatOverride(sdf); } final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(500, 270)); JPanel panel = new JPanel(); JButton close = new JButton(strings.getString("close")); close.setPreferredSize(new Dimension(close.getWidth(), 30)); close.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dispose(); } }); panel.setLayout(new BorderLayout()); panel.add(chartPanel, BorderLayout.CENTER); panel.add(close, BorderLayout.SOUTH); panel.setPreferredSize(new java.awt.Dimension(500, 270)); setContentPane(panel); setUndecorated(true); }
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; }/*ww w . java 2s . c om*/ 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:edu.unibonn.plotting.TimeSeriesPlotter_Sensors.java
private JFreeChart createChart(final XYDataset dataset) { final JFreeChart chart = ChartFactory.createTimeSeriesChart("Sensors", "Time", "Erlang", dataset, false, true, false);// www . j av a2 s.c om chart.setBackgroundPaint(Color.white); // final StandardLegend sl = (StandardLegend) chart.getLegend(); // sl.setDisplaySeriesShapes(true); final XYPlot plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.lightGray); plot.setDomainGridlinePaint(Color.white); plot.setRangeGridlinePaint(Color.white); // plot.setAxisOffset(new Spacer(Spacer.ABSOLUTE, 5.0, 5.0, 5.0, 5.0)); plot.setDomainCrosshairVisible(true); plot.setRangeCrosshairVisible(true); final XYItemRenderer renderer = plot.getRenderer(); if (renderer instanceof StandardXYItemRenderer) { final StandardXYItemRenderer rr = (StandardXYItemRenderer) renderer; //rr.setPlotShapes(true); rr.setShapesFilled(true); rr.setItemLabelsVisible(true); } final DateAxis axis = (DateAxis) plot.getDomainAxis(); axis.setDateFormatOverride(new SimpleDateFormat("dd-MM-yyyy hh:mm")); return chart; }
From source file:org.imos.abos.plot.JfreeChartDemo.java
public void createChartPanel() { dataset = createDataset();/* w ww .j av a 2 s . c o m*/ chart = createChart(dataset); chartPanel = new ChartPanel(chart); chartPanel.addChartMouseListener(new MouseClick()); chartPanel.setPreferredSize(new java.awt.Dimension(1024, 768)); chartPanel.setMouseZoomable(true, false); chart.addChangeListener(cc); plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.WHITE); plot.setDomainGridlinePaint(Color.GRAY); plot.setDomainGridlinesVisible(true); plot.setRangeGridlinePaint(Color.GRAY); plot.setAxisOffset(RectangleInsets.ZERO_INSETS); chart.getLegend().setPosition(RectangleEdge.RIGHT); final DateAxis axis = (DateAxis) plot.getDomainAxis(); axis.setDateFormatOverride(new SimpleDateFormat("yyyy-MM-dd HH:mm")); }