List of usage examples for org.jfree.chart.renderer.xy XYAreaRenderer AREA
int AREA
To view the source code for org.jfree.chart.renderer.xy XYAreaRenderer AREA.
Click Source Link
From source file:net.sf.maltcms.chromaui.charts.renderer.XYPlotRendererModel.java
/** * *//* w w w.j av a2 s. c o m*/ public XYPlotRendererModel() { XYLineAndShapeRenderer l = new XYLineAndShapeRenderer(true, false); l.setDrawSeriesLineAsPath(false); addElement(l); XYAreaRenderer xya = new XYAreaRenderer(XYAreaRenderer.AREA); addElement(xya); addElement(new EntityAwareSamplingXYLineRenderer()); XYBarRenderer xyb = new XYBarRenderer(0.0d); xyb.setBarAlignmentFactor(0.5); xyb.setDrawBarOutline(false); xyb.setShadowVisible(false); StandardXYBarPainter barPainter = new StandardXYBarPainter(); xyb.setBarPainter(barPainter); addElement(xyb); }
From source file:uk.ac.ed.epcc.webapp.charts.jfreechart.JFreeTimeChartData.java
public TimeChartDataSet addAreaGraph(TimeChartDataSet plot) throws InvalidArgument { TimeChartDataSet myplot = addTimeSeries(plot); if (!use_bar) { if (getItems() < STEP_THRESHOLD || useStep()) { //XYAreaRenderer renderer = new XYAreaRenderer(XYAreaRenderer.AREA); XYStepAreaRenderer renderer = new XYStepAreaRenderer(XYStepAreaRenderer.AREA); renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator()); renderer.setStepPoint(0.5); // change step half way between points, dataset set points in middle ((XYPlot) chart.getPlot()).setRenderer(myplot.getDatasetId(), renderer, false); } else {//from www . j a va2 s . c o m XYAreaRenderer renderer = new XYAreaRenderer(XYAreaRenderer.AREA); //XYStepAreaRenderer renderer = new XYStepAreaRenderer(XYStepAreaRenderer.AREA); renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator()); ((XYPlot) chart.getPlot()).setRenderer(myplot.getDatasetId(), renderer, false); } } else { // plot as bar chart XYBarRenderer renderer = new XYBarRenderer(); renderer.setBarPainter(new StandardXYBarPainter()); // colour blocks not shaded bars renderer.setDrawBarOutline(false); renderer.setShadowVisible(false); renderer.setUseYInterval(false); renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator()); ((XYPlot) chart.getPlot()).setRenderer(myplot.getDatasetId(), renderer, false); } return myplot; }
From source file:ucar.unidata.idv.control.chart.XYChartManager.java
/** * Get the renderer for the given line//from w w w.j a v a2 s. c o m * * @param lineState The line * @param showLegend And show the legend * * @return renderer */ protected XYItemRenderer getRenderer(LineState lineState, boolean showLegend) { int lineType = lineState.getLineType(); XYItemRenderer renderer = null; if (lineType == LineState.LINETYPE_BAR) { return new MyXYBarRenderer(); } else if (lineType == LineState.LINETYPE_SHAPES) { renderer = new MyXYAreaRenderer(lineState, XYAreaRenderer.SHAPES, showLegend); } else if (lineType == LineState.LINETYPE_LINES) { return new MyXYAreaRenderer(lineState, XYAreaRenderer.LINES, showLegend); } else if (lineType == LineState.LINETYPE_AREA) { return new MyXYAreaRenderer(lineState, XYAreaRenderer.AREA, showLegend); } else if (lineType == LineState.LINETYPE_AREA_AND_SHAPES) { renderer = new MyXYAreaRenderer(lineState, XYAreaRenderer.AREA_AND_SHAPES, showLegend); } else { renderer = new MyXYAreaRenderer(lineState, XYAreaRenderer.SHAPES_AND_LINES); } Shape shape = lineState.getPaintShape(); if (shape != null) { renderer.setShape(shape); renderer.setBaseShape(shape); if (renderer instanceof XYAreaRenderer) { ((XYAreaRenderer) renderer).setLegendArea(shape); } } return renderer; }
From source file:net.sf.maltcms.common.charts.ui.XYChartTopComponent.java
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed final String renderer = (String) jComboBox1.getSelectedItem(); Task t = RequestProcessor.getDefault().create(new Runnable() { @Override//from w w w . jav a2 s. c om public void run() { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { panel.setEnabled(false); panel.invalidate(); panel.validate(); } }); int nrenderer = panel.getChart().getXYPlot().getRendererCount(); XYPlot plot = panel.getChart().getXYPlot(); int ndatasets = panel.getChart().getXYPlot().getDatasetCount(); List<Shape> shapes = new LinkedList<>(); for (int i = 0; i < nrenderer; i++) { for (int j = 0; j < plot.getDataset(i).getSeriesCount(); j++) { XYDataset d = plot.getDataset(i); for (int k = 0; k < d.getSeriesCount(); k++) { Shape s = plot.getRendererForDataset(d).getSeriesShape(k); shapes.add(s); } } } switch (renderer) { case "Line And Shape": panel.getChart().getXYPlot().setRenderer(new XYLineAndShapeRenderer(true, true)); break; case "Line": panel.getChart().getXYPlot().setRenderer(new XYLineAndShapeRenderer(true, false)); break; case "Shape": panel.getChart().getXYPlot().setRenderer(new XYLineAndShapeRenderer(false, true)); break; case "Area": panel.getChart().getXYPlot().setRenderer(new XYAreaRenderer(XYAreaRenderer.AREA)); break; case "Area w/ Shapes": panel.getChart().getXYPlot().setRenderer(new XYAreaRenderer(XYAreaRenderer.AREA_AND_SHAPES)); break; } panel.getChart().getXYPlot().getRenderer().setBaseToolTipGenerator(new StandardXYToolTipGenerator( "%2.5f", NumberFormat.getNumberInstance(), NumberFormat.getNumberInstance())); int shapeIndex = 0; for (int i = 0; i < nrenderer; i++) { for (int j = 0; j < plot.getDataset(i).getSeriesCount(); j++) { XYDataset d = plot.getDataset(i); for (int k = 0; k < d.getSeriesCount(); k++) { plot.getRendererForDataset(d).setSeriesShape(k, shapes.get(shapeIndex)); shapeIndex++; } } } customizeChart(panel); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { panel.setEnabled(true); panel.invalidate(); panel.validate(); } }); } }); t.addTaskListener(new XYChartLoaderTaskListener()); RequestProcessor.getDefault().post(t); }
From source file:org.jivesoftware.openfire.reporting.graph.GraphEngine.java
/** * Generates a generic Time Area Chart./*from ww w . j av a 2 s. co m*/ * * @param title the title of the Chart. * @param valueLabel the Y Axis label. * @param data the data to populate with. * @return the generated Chart. */ private JFreeChart createTimeAreaChart(String title, String color, String valueLabel, XYDataset data) { PlotOrientation orientation = PlotOrientation.VERTICAL; DateAxis xAxis = generateTimeAxis(); NumberAxis yAxis = new NumberAxis(valueLabel); NumberFormat formatter = NumberFormat.getNumberInstance(JiveGlobals.getLocale()); formatter.setMaximumFractionDigits(2); formatter.setMinimumFractionDigits(0); yAxis.setNumberFormatOverride(formatter); XYAreaRenderer renderer = new XYAreaRenderer(XYAreaRenderer.AREA); renderer.setOutline(true); return createChart(title, data, xAxis, yAxis, orientation, renderer, GraphDefinition.getDefinition(color)); }
From source file:com.android.ddmuilib.net.NetworkPanel.java
/** * Create chart of recent network activity. *///from w ww . j a va 2s. com private void createChart() { mChart = ChartFactory.createTimeSeriesChart(null, null, null, null, false, false, false); // create backing datasets and series mRxTotalSeries = new TimeSeries("RX total"); mTxTotalSeries = new TimeSeries("TX total"); mRxTotalSeries.setMaximumItemAge(HISTORY_MILLIS); mTxTotalSeries.setMaximumItemAge(HISTORY_MILLIS); mTotalCollection = new TimeSeriesCollection(); mTotalCollection.addSeries(mRxTotalSeries); mTotalCollection.addSeries(mTxTotalSeries); mRxDetailDataset = new LiveTimeTableXYDataset(); mTxDetailDataset = new LiveTimeTableXYDataset(); mTotalRenderer = new XYAreaRenderer(XYAreaRenderer.AREA); mRenderer = new StackedXYAreaRenderer2(); final XYPlot xyPlot = mChart.getXYPlot(); xyPlot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD); xyPlot.setDataset(0, mTotalCollection); xyPlot.setDataset(1, mRxDetailDataset); xyPlot.setDataset(2, mTxDetailDataset); xyPlot.setRenderer(0, mTotalRenderer); xyPlot.setRenderer(1, mRenderer); xyPlot.setRenderer(2, mRenderer); // we control domain axis manually when taking samples mDomainAxis = xyPlot.getDomainAxis(); mDomainAxis.setAutoRange(false); final NumberAxis axis = new NumberAxis(); axis.setNumberFormatOverride(new BytesFormat(true)); axis.setAutoRangeMinimumSize(50); xyPlot.setRangeAxis(axis); xyPlot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT); // draw thick line to separate RX versus TX traffic xyPlot.addRangeMarker(new ValueMarker(0, java.awt.Color.BLACK, new java.awt.BasicStroke(2))); // label to indicate that positive axis is RX traffic final ValueMarker rxMarker = new ValueMarker(0); rxMarker.setStroke(new java.awt.BasicStroke(0)); rxMarker.setLabel("RX"); rxMarker.setLabelFont(rxMarker.getLabelFont().deriveFont(30f)); rxMarker.setLabelPaint(java.awt.Color.LIGHT_GRAY); rxMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT); rxMarker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT); xyPlot.addRangeMarker(rxMarker); // label to indicate that negative axis is TX traffic final ValueMarker txMarker = new ValueMarker(0); txMarker.setStroke(new java.awt.BasicStroke(0)); txMarker.setLabel("TX"); txMarker.setLabelFont(txMarker.getLabelFont().deriveFont(30f)); txMarker.setLabelPaint(java.awt.Color.LIGHT_GRAY); txMarker.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT); txMarker.setLabelTextAnchor(TextAnchor.TOP_RIGHT); xyPlot.addRangeMarker(txMarker); mChartComposite = new ChartComposite(mPanel, SWT.BORDER, mChart, ChartComposite.DEFAULT_WIDTH, ChartComposite.DEFAULT_HEIGHT, ChartComposite.DEFAULT_MINIMUM_DRAW_WIDTH, ChartComposite.DEFAULT_MINIMUM_DRAW_HEIGHT, 4096, 4096, true, true, true, true, false, true); final FormData data = new FormData(); data.top = new FormAttachment(mHeader); data.left = new FormAttachment(0); data.bottom = new FormAttachment(70); data.right = new FormAttachment(100); mChartComposite.setLayoutData(data); }
From source file:org.hxzon.demo.jfreechart.XYDatasetDemo2.java
private static JFreeChart createXYAreaChart(XYDataset dataset) { NumberAxis xAxis = new NumberAxis(xAxisLabel); xAxis.setAutoRangeIncludesZero(false); NumberAxis yAxis = new NumberAxis(yAxisLabel); XYPlot plot = new XYPlot(dataset, xAxis, yAxis, null); plot.setOrientation(orientation);/*from w w w.jav a 2 s. com*/ plot.setForegroundAlpha(0.5f); XYToolTipGenerator tipGenerator = null; if (tooltips) { tipGenerator = new StandardXYToolTipGenerator(); } XYURLGenerator urlGenerator = null; if (urls) { urlGenerator = new StandardXYURLGenerator(); } plot.setRenderer(new XYAreaRenderer(XYAreaRenderer.AREA, tipGenerator, urlGenerator)); JFreeChart chart = new JFreeChart("XYArea Chart Demo", JFreeChart.DEFAULT_TITLE_FONT, plot, legend); chart.setBackgroundPaint(Color.white); 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); yAxis.setNumberFormatOverride(MyNumberFormat.getMyNumberFormat()); return chart; }
From source file:edu.fullerton.ldvservlet.SrcList.java
private PageItem makePlots(ArrayList<ChanSourceData> csdList, String name, Database db, Page vpage, ViewUser vuser, String contextPath) throws WebUtilException, LdvTableException { PageItemList ret = new PageItemList(); CombinedDomainXYPlot plot = new CombinedDomainXYPlot(new DateAxis("Date/Time (UTC)")); plot.setGap(10.0);//from w ww . j a v a 2 s .c o m String baseName = ""; StringBuilder errors = new StringBuilder(); int plotNum = 0; Color[] colors = { Color.RED, Color.BLUE, Color.MAGENTA, Color.ORANGE, Color.DARK_GRAY, Color.GREEN }; boolean gotData = false; TimeInterval timeRange = null; for (ChanSourceData csd : csdList) { TimeInterval ti = csd.getTimeRange(); if (ti != null) { if (timeRange == null) { timeRange = ti; } else if (timeRange.overlaps(ti)) { timeRange = timeRange.mergeIntervals(ti); } else if (ti.getStartGps() < timeRange.getStartGps()) { timeRange.setStartGps(ti.getStartGps()); } else if (ti.getStopGps() > timeRange.getStopGps()) { timeRange.setStopGps(ti.getStopGps()); } } } if (timeRange != null) { for (ChanSourceData csd : csdList) { baseName = csd.getChanInfo().getBaseName(); TimeSeriesCollection mtds = new TimeSeriesCollection(); String server = csd.getChanInfo().getServer().replace(".caltech.edu", ""); String legend = String.format("Type: %1$s at %2$s", csd.getChanInfo().getcType(), server); TimeSeries ts; double[][] data = csd.getGraphData(); if (data == null) { data = new double[2][2]; data[0][0] = timeRange.getStartGps(); data[1][0] = timeRange.getStopGps(); data[0][1] = data[1][1] = 0; errors.append("Error getting data for: ").append(legend).append("<br>"); } else { gotData = true; } for (double[] d : data) { d[1] = d[1] <= 1 ? 1 : d[1]; } ts = getTimeSeries(data, legend); mtds.addSeries(ts); XYAreaRenderer renderer = new XYAreaRenderer(XYAreaRenderer.AREA); BasicStroke str = new BasicStroke(2); int colorIdx = plotNum % colors.length; Color color = colors[colorIdx]; NumberAxis yAxis = new NumberAxis("% Avail"); yAxis.setRange(0, 100); renderer.setBaseFillPaint(color); renderer.setSeriesFillPaint(0, Color.WHITE); renderer.setBaseStroke(str); renderer.setUseFillPaint(true); XYPlot subplot = new XYPlot(mtds, null, yAxis, renderer); plot.add(subplot); plotNum++; } ChartPanel cpnl; JFreeChart chart; String gtitle = String.format("Available data for %1$s ", baseName); String subTitleTxt = String.format("From %1$s to %2$s", TimeAndDate.gpsAsUtcString(timeRange.getStartGps()), TimeAndDate.gpsAsUtcString(timeRange.getStopGps())); plot.setOrientation(PlotOrientation.VERTICAL); chart = new JFreeChart(gtitle, JFreeChart.DEFAULT_TITLE_FONT, plot, true); chart.addSubtitle(new TextTitle(subTitleTxt)); cpnl = new ChartPanel(chart, false, false, false, false, false); PluginSupport psupport = new PluginSupport(); psupport.setup(db, vpage, vuser); int imgId; PageItemImage img = null; try { psupport.setSize(800, 600); imgId = psupport.saveImageAsPNG(cpnl); String url = String.format("%1$s/view?act=getImg&imgId=%2$d", contextPath, imgId); img = new PageItemImage(url, "availability", baseName); } catch (SQLException | IOException | NoSuchAlgorithmException ex) { String ermsg = String.format("Error creating or saving image: %1$s - $2$s", ex.getClass().getSimpleName(), ex.getLocalizedMessage()); errors.append(ermsg); } if (errors.length() > 0) { ret.add(errors.toString()); } if (img != null) { ret.add(img); } } else { ret.add("No data to plot."); } return ret; }
From source file:org.cds06.speleograph.data.Series.java
public void setStyle(DrawStyle style) { Validate.notNull(style);/* w ww. ja va 2 s . c o m*/ if (isMinMax() && !(style == DrawStyle.AUTO || style == DrawStyle.HIGH_LOW)) return; if (style.equals(this.style)) return; this.style = style; switch (style) { case AUTO: setupRendererAuto(); break; case AREA: renderer = new NewAreaRenderer(XYAreaRenderer.AREA); break; case HIGH_LOW: renderer = new NewHighLowRenderer(); break; default: case LINE: renderer = new NewLineAndShapeRenderer(true, false); } notifyListeners(); }
From source file:org.cds06.speleograph.data.Series.java
private void setupRendererAuto() { if (isMinMax()) { renderer = new NewHighLowRenderer(); } else if (isStepped()) { renderer = new NewAreaRenderer(XYAreaRenderer.AREA); } else {/*from ww w . j a v a 2 s . com*/ renderer = new NewLineAndShapeRenderer(true, false); } }