Example usage for org.jfree.chart.renderer.xy XYAreaRenderer AREA

List of usage examples for org.jfree.chart.renderer.xy XYAreaRenderer AREA

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.xy XYAreaRenderer AREA.

Prototype

int AREA

To view the source code for org.jfree.chart.renderer.xy XYAreaRenderer AREA.

Click Source Link

Document

Useful constant for specifying the type of rendering (area only).

Usage

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&amp;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);
    }
}