List of usage examples for org.jfree.chart.renderer.xy DefaultXYItemRenderer DefaultXYItemRenderer
DefaultXYItemRenderer
From source file:statistic.graph.XYChart.java
public XYChart(String title, String xAxisLabel, String yAxis, XYSeriesCollection collection, boolean linear) { super(title, JFreeChart.DEFAULT_TITLE_FONT, new XYPlot(), true); this.collection = collection; setBackgroundPaint(Color.WHITE); setTitle(title);//from w w w. j a va2s.c om plot = (XYPlot) getPlot(); plot.setDataset(collection); if (linear) { plot.setRenderer(new DefaultXYItemRenderer()); } else { plot.setRenderer(new XYStepRenderer()); } plot.setOrientation(PlotOrientation.VERTICAL); initXAxis(xAxisLabel); plot.setRangeAxis(new NumberAxis(yAxis)); plot.setBackgroundPaint(Color.LIGHT_GRAY); 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); }
From source file:graph.MySensorPanel.java
/** * Creates a new self-contained demo panel. *///from w ww.j a va 2 s.c o m public MySensorPanel(String header_str) { //super(new BorderLayout()); this.series1 = new TimeSeries("Temperature"); this.series2 = new TimeSeries("Humidity"); TimeSeriesCollection dataset1 = new TimeSeriesCollection(this.series1); TimeSeriesCollection dataset2 = new TimeSeriesCollection(this.series2); JFreeChart chart = ChartFactory.createTimeSeriesChart(header_str, "Time", "C", dataset1, true, true, false); /*this.addChart(chart);*/ XYPlot plot = (XYPlot) chart.getPlot(); ValueAxis axis = plot.getDomainAxis(); axis.setAutoRange(true); axis.setFixedAutoRange(1000.0 * 60 * 60 /* 24*/); // 24 hrs plot.setDataset(1, dataset2); NumberAxis rangeAxis2 = new NumberAxis("%"); rangeAxis2.setAutoRangeIncludesZero(false); plot.setRenderer(1, new DefaultXYItemRenderer()); plot.setRangeAxis(1, rangeAxis2); plot.mapDatasetToRangeAxis(1, 1); ChartUtilities.applyCurrentTheme(chart); plot.setBackgroundPaint(Color.DARK_GRAY); plot.setDomainGridlinePaint(Color.white); plot.setRangeGridlinePaint(Color.white); chartPanel = new ChartPanel(chart); }
From source file:mediamatrix.gui.JVMMemoryProfilerPanel.java
public JVMMemoryProfilerPanel() { initComponents();// w w w. j a v a2 s .co m profiler = new JVMMemoryProfiler(frequency); profiler.addListener(new JVMMemoryProfilerListener() { @Override public void addScore(long t, long f) { total.add(new Millisecond(), t); free.add(new Millisecond(), f); } }); total = new TimeSeries("Total Memory"); total.setMaximumItemCount(historyCount); free = new TimeSeries("Free Memory"); free.setMaximumItemCount(historyCount); final TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(total); dataset.addSeries(free); final DateAxis domain = new DateAxis("Time"); final NumberAxis range = new NumberAxis("Memory"); domain.setTickLabelFont(new Font("SansSerif", Font.PLAIN, 12)); domain.setLabelFont(new Font("SansSerif", Font.PLAIN, 14)); range.setTickLabelFont(new Font("SansSerif", Font.PLAIN, 12)); range.setLabelFont(new Font("SansSerif", Font.PLAIN, 14)); range.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); final XYItemRenderer renderer = new DefaultXYItemRenderer(); renderer.setSeriesPaint(0, Color.red); renderer.setSeriesPaint(1, Color.green); renderer.setBaseStroke(new BasicStroke(3f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); final XYPlot plot = new XYPlot(dataset, domain, range, renderer); plot.setBackgroundPaint(Color.lightGray); plot.setDomainGridlinePaint(Color.white); plot.setRangeGridlinePaint(Color.white); plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0)); domain.setAutoRange(true); domain.setLowerMargin(0.0); domain.setUpperMargin(0.0); domain.setTickLabelsVisible(true); final JFreeChart chart = new JFreeChart("JVM Memory Usage", new Font("SansSerif", Font.BOLD, 24), plot, true); chart.setBackgroundPaint(Color.white); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4), BorderFactory.createLineBorder(Color.black))); chart.getLegend().setItemFont(new Font("SansSerif", Font.PLAIN, 12)); add(chartPanel, BorderLayout.CENTER); }
From source file:com.bdb.weather.display.freeplot.FreePlotSeriesCollection.java
/** * Constructor.//from w ww .j a va 2s. c o m * * @param groupName The name of this group * @param units The units of this collection, used to setup the Range Axis * @param datasetIndex The dataset index from a JFreePlot perspective * @param domainAxisIndex The index of the domain axis, from a JFreeChart perspective * @param plot The plot to which the dataset and axis will be added * @param stroke The Stroke used to draw the series of this collection * @param factory The factory used to create the series */ FreePlotSeriesCollection(String groupName, Unit units, int datasetIndex, int domainAxisIndex, XYPlot plot, Stroke stroke, SeriesFactory<T> factory) { this.groupName = groupName; this.dataset = new TimeSeriesCollection(); this.datasetIndex = datasetIndex; this.factory = factory; this.plot = plot; renderer = new DefaultXYItemRenderer(); renderer.setBaseShapesVisible(false); renderer.setBaseToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance()); renderer.setDrawSeriesLineAsPath(true); plot.setDataset(datasetIndex, dataset); plot.setRenderer(datasetIndex, renderer); series = factory.createSeriesGroup(groupName, stroke); plot.mapDatasetToDomainAxis(datasetIndex, domainAxisIndex); }
From source file:org.mwc.debrief.multipath2.MultiPathView.java
private void createPlot(final Composite ui) { // create a date-formatting axis final DateAxis dateAxis = new RelativeDateAxis(); dateAxis.setStandardTickUnits(DateAxisEditor.createStandardDateTickUnitsAsTickUnits()); final NumberAxis valAxis = new NumberAxis("Delay (Secs)"); final DefaultXYItemRenderer theRenderer = new DefaultXYItemRenderer(); theRenderer.setBaseShapesVisible(false); _thePlot = new XYPlot(null, dateAxis, valAxis, theRenderer); final JFreeChart _plotArea = new JFreeChart(_thePlot); final ChartComposite _plotControl = new ChartComposite(ui, SWT.NONE, null, true) { @Override//from w w w. ja v a 2s . co m public void mouseUp(MouseEvent event) { super.mouseUp(event); JFreeChart c = getChart(); if (c != null) { c.setNotify(true); // force redraw } } }; _plotControl.setChart(_plotArea); }
From source file:com.bdb.weather.display.summary.WindSummary.java
/** * Create the plot.//from ww w .j av a2s. c o m * * @return The panel that contains the plot */ private ChartViewer createPlot() { JFreeChart chart = ChartFactory.createXYLineChart("", "", "", null, PlotOrientation.VERTICAL, true, true, true); plot = (XYPlot) chart.getPlot(); ChartViewer panel = new ChartViewer(chart); panel.setPrefSize(500, 300); panel.addChartMouseListener(this); // // Set up the Domain Axis (X) // dateAxis = new DateAxis("Time"); dateAxis.setDateFormatOverride(interval.getLegacyFormat()); dateAxis.setVerticalTickLabels(true); plot.setDomainAxis(dateAxis); valueAxis = WindSpeedRangeAxis.create(); plot.setRangeAxis(valueAxis); // // Set up the renderer to generate tool tips, not show shapes // DefaultXYItemRenderer renderer = new DefaultXYItemRenderer(); renderer.setBaseShapesVisible(false); renderer.setBaseToolTipGenerator( new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, interval.getLegacyFormat(), Speed.getDefaultFormatter())); renderer.setDefaultEntityRadius(1); plot.setRenderer(SUSTAINED_WIND_SERIES, renderer); renderer = new DefaultXYItemRenderer(); WeatherSenseConstants.configureGustRenderer(renderer, 0); plot.setRenderer(GUST_SERIES, renderer); return panel; }
From source file:org.jfree.chart.demo.DynamicDataDemo2.java
/** * Constructs a new demonstration application. * * @param title the frame title.//from ww w. ja v a 2 s.c om */ public DynamicDataDemo2(final String title) { super(title); this.series1 = new TimeSeries("Random 1", Millisecond.class); this.series2 = new TimeSeries("Random 2", Millisecond.class); final TimeSeriesCollection dataset1 = new TimeSeriesCollection(this.series1); final TimeSeriesCollection dataset2 = new TimeSeriesCollection(this.series2); final JFreeChart chart = ChartFactory.createTimeSeriesChart("Dynamic Data Demo 2", "Time", "Value", dataset1, true, true, false); chart.setBackgroundPaint(Color.white); final XYPlot plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.lightGray); plot.setDomainGridlinePaint(Color.white); plot.setRangeGridlinePaint(Color.white); // plot.setAxisOffset(new Spacer(Spacer.ABSOLUTE, 4, 4, 4, 4)); final ValueAxis axis = plot.getDomainAxis(); axis.setAutoRange(true); axis.setFixedAutoRange(60000.0); // 60 seconds plot.setDataset(1, dataset2); final NumberAxis rangeAxis2 = new NumberAxis("Range Axis 2"); rangeAxis2.setAutoRangeIncludesZero(false); plot.setRenderer(1, new DefaultXYItemRenderer()); plot.setRangeAxis(1, rangeAxis2); plot.mapDatasetToRangeAxis(1, 1); final JPanel content = new JPanel(new BorderLayout()); final ChartPanel chartPanel = new ChartPanel(chart); content.add(chartPanel); final JButton button1 = new JButton("Add To Series 1"); button1.setActionCommand("ADD_DATA_1"); button1.addActionListener(this); final JButton button2 = new JButton("Add To Series 2"); button2.setActionCommand("ADD_DATA_2"); button2.addActionListener(this); final JButton button3 = new JButton("Add To Both"); button3.setActionCommand("ADD_BOTH"); button3.addActionListener(this); final JPanel buttonPanel = new JPanel(new FlowLayout()); buttonPanel.add(button1); buttonPanel.add(button2); buttonPanel.add(button3); content.add(buttonPanel, BorderLayout.SOUTH); chartPanel.setPreferredSize(new java.awt.Dimension(500, 270)); setContentPane(content); }
From source file:com.planetmayo.debrief.satc.util.StraightLineCullingTestForm.java
private void culling(List<List<Coordinate>> polygons) { DefaultXYItemRenderer renderer = new DefaultXYItemRenderer(); renderer.setBaseShapesVisible(false); ((XYPlot) chart.getPlot()).setRenderer(renderer); collections.removeAllSeries();/* w w w .j a v a 2 s . c o m*/ List<LocationRange> ranges = new ArrayList<LocationRange>(polygons.size()); GeometryFactory factory = new GeometryFactory(); for (List<Coordinate> coordinates : polygons) { Geometry geo = factory.createPolygon(coordinates.toArray(new Coordinate[0])); ranges.add(new LocationRange(geo)); } StraightLineCulling culling = new StraightLineCulling(ranges); culling.process(); int i = 0; for (Geometry geometry : culling.getFiltered()) { XYSeries series = new XYSeries("polygon " + (++i), false); for (Coordinate c : geometry.getCoordinates()) { series.add(c.x, c.y); } collections.addSeries(series); } if (culling.hasResults()) { drawResultLineAndPolygon(1, culling.getFirstCrissCrossLine(), culling.getConstrainedStart()); drawResultLineAndPolygon(2, culling.getSecondCrissCrossLine(), culling.getConstrainedEnd()); } }
From source file:ruc.edu.window.DynamicDataDemo2.java
/** * Constructs a new demonstration application. * * @param title the frame title./* w w w. j a v a2 s. c o m*/ */ public DynamicDataDemo2(final String title) { super(title); this.series1 = new TimeSeries("Random 1"); this.series2 = new TimeSeries("Random 2"); final TimeSeriesCollection dataset1 = new TimeSeriesCollection(this.series1); final TimeSeriesCollection dataset2 = new TimeSeriesCollection(this.series2); final JFreeChart chart = ChartFactory.createTimeSeriesChart("Dynamic Data Demo 2", "Time", "Value", dataset1, true, true, false); chart.setBackgroundPaint(Color.white); final XYPlot plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.white); plot.setDomainGridlinePaint(Color.gray); plot.setRangeGridlinePaint(Color.gray); plot.setDomainPannable(true); // plot.setAxisOffset(new Spacer(Spacer.ABSOLUTE, 4, 4, 4, 4)); final ValueAxis axis = plot.getDomainAxis(); axis.setAutoRange(true); //axis.setAutoRangeMinimumSize(600000.0); axis.setFixedAutoRange(5000.0); // 60 seconds plot.setDataset(1, dataset2); //final NumberAxis rangeAxis2 = new NumberAxis("Range Axis 2"); /// rangeAxis2.setAutoRangeIncludesZero(false); plot.setRenderer(0, new DefaultXYItemRenderer()); plot.setRenderer(1, new DefaultXYItemRenderer()); //plot.setRangeAxis(1, rangeAxis2); plot.mapDatasetToRangeAxis(1, 0); plot.getRenderer().setSeriesPaint(0, new Color(91, 155, 213)); plot.getRenderer(1).setSeriesPaint(0, Color.BLUE); XYLineAndShapeRenderer render2 = new XYLineAndShapeRenderer() { Stroke soild = new BasicStroke(2.0f); Stroke dashed = new BasicStroke(10.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10.0f, new float[] { 10.0f }, 0.0f); @Override public Stroke getItemStroke(int row, int column) { return dashed; } }; plot.setRenderer(1, render2); final JPanel content = new JPanel(new BorderLayout()); final ChartPanel chartPanel = new ChartPanel(chart); content.add(chartPanel); final JButton button1 = new JButton("Add To Series 1"); button1.setActionCommand("ADD_DATA_1"); button1.addActionListener(this); final JButton button2 = new JButton("Add To Series 2"); button2.setActionCommand("ADD_DATA_2"); button2.addActionListener(this); final JButton button3 = new JButton("Add To Both"); button3.setActionCommand("ADD_BOTH"); button3.addActionListener(this); final JPanel buttonPanel = new JPanel(new FlowLayout()); buttonPanel.add(button1); buttonPanel.add(button2); buttonPanel.add(button3); content.add(buttonPanel, BorderLayout.SOUTH); chartPanel.setPreferredSize(new java.awt.Dimension(500, 270)); setContentPane(content); }
From source file:com.bdb.weather.display.stripchart.StripChart.java
private void createRenderer(int dataset, TimeSeriesCollection collection, NumberFormat format) { DefaultXYItemRenderer renderer = new DefaultXYItemRenderer(); renderer.setBaseShapesVisible(false); renderer.setBaseToolTipGenerator(/* ww w . ja va2s . co m*/ new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.LONG), format)); renderer.setDefaultEntityRadius(1); plot.setRenderer(dataset, renderer); plot.setDataset(dataset, collection); }