Example usage for org.jfree.chart.renderer.xy StackedXYAreaRenderer2 StackedXYAreaRenderer2

List of usage examples for org.jfree.chart.renderer.xy StackedXYAreaRenderer2 StackedXYAreaRenderer2

Introduction

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

Prototype

public StackedXYAreaRenderer2() 

Source Link

Document

Creates a new renderer.

Usage

From source file:org.pentaho.plugin.jfreereport.reportcharts.XYAreaChartExpression.java

public static JFreeChart createTimeSeriesChart(final String title, final String timeAxisLabel,
        final String valueAxisLabel, final XYDataset dataset, final boolean legend, final boolean tooltips,
        final boolean urls, final boolean stacked) {
    final ValueAxis timeAxis = new DateAxis(timeAxisLabel);
    timeAxis.setLowerMargin(0.02); // reduce the default margins
    timeAxis.setUpperMargin(0.02);//www  .j  a  v a2 s  .  com
    final NumberAxis valueAxis = new NumberAxis(valueAxisLabel);
    valueAxis.setAutoRangeIncludesZero(false); // override default
    final XYPlot plot = new XYPlot(dataset, timeAxis, valueAxis, null);

    XYToolTipGenerator toolTipGenerator = null;
    if (tooltips) {
        toolTipGenerator = StandardXYToolTipGenerator.getTimeSeriesInstance();
    }

    XYURLGenerator urlGenerator = null;
    if (urls) {
        urlGenerator = new StandardXYURLGenerator();
    }

    final XYAreaRenderer2 renderer;
    if (stacked) {
        renderer = new StackedXYAreaRenderer2();
    } else {
        renderer = new XYAreaRenderer2();
    }
    renderer.setBaseToolTipGenerator(toolTipGenerator);
    renderer.setURLGenerator(urlGenerator);
    plot.setRenderer(renderer);

    return new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend);
}

From source file:genj.chart.Chart.java

/**
 * Constructor for a chart with indexed series of data, shown on a 2d pane
 * as one plot per series or one horizontal stripe per series (stacked).
 * @param title the title of the chart//from  w  w w .  j a v  a2 s .  co m
 * @param labelAxisX a label for the x-axis
 * @param labelAxisY a label for the y-axis
 * @param series one or more indexed series to show
 * @param stacked whether to stack horizontal stripes one for each series instead of showing one plot per series
 */
public Chart(String title, String labelAxisX, String labelAxisY, IndexedSeries[] series, NumberFormat format,
        boolean stacked) {

    // prepare chart setup
    NumberAxis xAxis = new NumberAxis(labelAxisX);
    xAxis.setAutoRangeIncludesZero(false);

    NumberAxis yAxis = new NumberAxis(labelAxisY);
    yAxis.setNumberFormatOverride(format);

    XYItemRenderer renderer = stacked ? new StackedXYAreaRenderer2() : new XYAreaRenderer();
    XYPlot plot = new XYPlot(IndexedSeries.asTableXYDataset(series), xAxis, yAxis, renderer);

    // init
    init(title, plot, true);

    // done
}

From source file:edu.ucla.stat.SOCR.chart.demo.StackedXYAreaChartDemo1.java

/**
 * Creates a sample chart./* w  w  w .  ja  va  2  s  .c  om*/
 * 
 * @param dataset  the dataset for the chart.
 * 
 * @return a sample chart.
 */
protected JFreeChart createChart(TableXYDataset dataset) {

    JFreeChart chart = ChartFactory.createStackedXYAreaChart(chartTitle, // chart title
            domainLabel, // domain axis label
            rangeLabel, // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // the plot orientation
            !legendPanelOn, // legend
            true, // tooltips
            false // urls
    );
    XYPlot plot = (XYPlot) chart.getPlot();
    StackedXYAreaRenderer2 renderer = new StackedXYAreaRenderer2();
    renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
    plot.setRenderer(0, renderer);

    renderer.setLegendItemLabelGenerator(new SOCRXYSeriesLabelGenerator());

    setXSummary(dataset);
    return chart;

}

From source file:org.nbheaven.sqe.codedefects.history.controlcenter.panels.SQEHistoryPanel.java

/** Creates new form SQEHistoryPanel */
public SQEHistoryPanel() {
    historyChart = org.jfree.chart.ChartFactory.createStackedXYAreaChart(null, "Snapshot", "CodeDefects",
            perProjectDataSet, PlotOrientation.VERTICAL, false, true, false);
    historyChart.setBackgroundPaint(Color.WHITE);
    historyChart.getXYPlot().setRangeGridlinePaint(Color.BLACK);
    historyChart.getXYPlot().setDomainGridlinePaint(Color.BLACK);
    historyChart.getXYPlot().setBackgroundPaint(Color.WHITE);

    XYPlot plot = historyChart.getXYPlot();
    plot.setForegroundAlpha(0.7f);//from w w  w .  j  av  a  2 s  .  c om
    //        plot.getRenderer();

    NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
    domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    LogarithmicAxis rangeAxis = new LogarithmicAxis("CodeDefects");
    rangeAxis.setStrictValuesFlag(false);
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    plot.setRangeAxis(rangeAxis);

    StackedXYAreaRenderer2 categoryItemRenderer = new StackedXYAreaRenderer2(); //3D();
    categoryItemRenderer.setSeriesPaint(0, Color.RED);
    categoryItemRenderer.setSeriesPaint(1, Color.ORANGE);
    categoryItemRenderer.setSeriesPaint(2, Color.YELLOW);

    plot.setRenderer(categoryItemRenderer);

    ChartPanel historyChartPanel = new ChartPanel(historyChart);
    historyChartPanel.setBorder(null);
    historyChartPanel.setPreferredSize(new Dimension(150, 200));
    historyChartPanel.setBackground(Color.WHITE);
    initComponents();

    historyView.setLayout(new BorderLayout());
    historyView.add(historyChartPanel, BorderLayout.CENTER);

    JPanel selectorPanel = new JPanel();
    selectorPanel.setOpaque(false);

    GroupLayout layout = new GroupLayout(selectorPanel);
    selectorPanel.setLayout(layout);

    // Turn on automatically adding gaps between components
    layout.setAutocreateGaps(true);

    // Turn on automatically creating gaps between components that touch
    // the edge of the container and the container.
    layout.setAutocreateContainerGaps(true);

    ParallelGroup horizontalParallelGroup = layout.createParallelGroup(GroupLayout.LEADING);
    SequentialGroup verticalSequentialGroup = layout.createSequentialGroup();

    layout.setHorizontalGroup(layout.createSequentialGroup().add(horizontalParallelGroup));

    layout.setVerticalGroup(verticalSequentialGroup);

    clearHistoryButton = new JButton();
    clearHistoryButton.setEnabled(false);
    clearHistoryButton.setIcon(ImageUtilities
            .image2Icon(ImageUtilities.loadImage("org/nbheaven/sqe/codedefects/history/resources/trash.png")));
    clearHistoryButton.setOpaque(false);
    clearHistoryButton.setFocusPainted(false);
    clearHistoryButton.setToolTipText(
            NbBundle.getBundle("org/nbheaven/sqe/codedefects/history/controlcenter/panels/Bundle")
                    .getString("HINT_clear_button"));
    horizontalParallelGroup.add(clearHistoryButton);
    verticalSequentialGroup.add(clearHistoryButton);
    clearHistoryButton.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            if (null != activeHistory) {
                activeHistory.clear();
            }
        }

    });

    Component createVerticalStrut = Box.createVerticalStrut(10);

    horizontalParallelGroup.add(createVerticalStrut);
    verticalSequentialGroup.add(createVerticalStrut);

    for (final QualityProvider provider : SQEUtilities.getProviders()) {
        final JToggleButton providerButton = new JToggleButton();
        providerButton.setIcon(provider.getIcon());
        providerButton.setOpaque(false);
        providerButton.setFocusPainted(false);
        horizontalParallelGroup.add(providerButton);
        verticalSequentialGroup.add(providerButton);
        ActionListener listener = new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                if (providerButton.isSelected()) {
                    addSelectedProvider(provider);
                } else {
                    removeSelectedProvider(provider);
                }
                updateView();
            }
        };
        providerButton.addActionListener(listener);
        addSelectedProvider(provider);
        providerButton.setSelected(true);
    }

    historyView.add(selectorPanel, BorderLayout.EAST);
}

From source file:com.marvelution.jira.plugins.hudson.charts.BuildTestResultsRatioChartGenerator.java

/**
 * {@inheritDoc}//from   w w w .  j  ava2 s .  c  o  m
 */
@Override
public ChartHelper generateChart() {
    buildMap = new HashMap<Integer, Build>();
    final CategoryTableXYDataset dataset = new CategoryTableXYDataset();
    for (Build build : builds) {
        final TestResult results = build.getTestResult();
        double percentagePass = 0.0D, percentageFail = 0.0D, percentageSkipped = 0.0D;
        if (results != null && results.getTotal() > 0) {
            percentagePass = Double.valueOf(results.getPassed()) / Double.valueOf(results.getTotal()) * 100.0D;
            percentageFail = Double.valueOf(results.getFailed()) / Double.valueOf(results.getTotal()) * 100.0D;
            percentageSkipped = Double.valueOf(results.getSkipped()) / Double.valueOf(results.getTotal())
                    * 100.0D;
        }
        dataset.add(Double.valueOf(build.getBuildNumber()), percentagePass, seriesNames[0]);
        dataset.add(Double.valueOf(build.getBuildNumber()), percentageFail, seriesNames[1]);
        dataset.add(Double.valueOf(build.getBuildNumber()), percentageSkipped, seriesNames[2]);
        buildMap.put(Integer.valueOf(build.getBuildNumber()), build);
    }
    final JFreeChart chart = ChartFactory.createStackedXYAreaChart("", "",
            getI18n().getText("hudson.charts.tests"), dataset, PlotOrientation.VERTICAL, false, false, false);
    chart.setBackgroundPaint(Color.WHITE);
    chart.setBorderVisible(false);
    XYPlot xyPlot = chart.getXYPlot();
    xyPlot.setDataset(1, dataset);
    if (dataset.getItemCount() > 0) {
        XYLineAndShapeRenderer shapeRenderer = new XYLineAndShapeRenderer(false, true);
        shapeRenderer.setSeriesShapesVisible(1, false);
        shapeRenderer.setSeriesLinesVisible(1, false);
        shapeRenderer.setSeriesShapesVisible(2, false);
        shapeRenderer.setSeriesLinesVisible(2, false);
        shapeRenderer.setSeriesShape(0, new Ellipse2D.Double(-3.0D, -3.0D, 6.0D, 6.0D));
        shapeRenderer.setSeriesPaint(0, GREEN_PAINT);
        shapeRenderer.setSeriesShapesFilled(0, true);
        shapeRenderer.setBaseToolTipGenerator(this);
        shapeRenderer.setBaseItemLabelFont(ChartDefaults.defaultFont);
        shapeRenderer.setBaseItemLabelsVisible(false);
        xyPlot.setRenderer(0, shapeRenderer);
        StackedXYAreaRenderer2 renderer = new StackedXYAreaRenderer2();
        renderer.setSeriesPaint(0, GREEN_PAINT);
        renderer.setSeriesPaint(1, RED_PAINT);
        renderer.setSeriesPaint(2, YELLOW_PAINT);
        renderer.setBaseItemLabelFont(ChartDefaults.defaultFont);
        renderer.setBaseItemLabelsVisible(false);
        xyPlot.setRenderer(1, renderer);
        renderer.setBaseToolTipGenerator(this);
    }
    ValueAxis rangeAxis = xyPlot.getRangeAxis();
    rangeAxis.setLowerBound(0.0D);
    rangeAxis.setUpperBound(100.0D);
    final NumberAxis domainAxis = new NumberAxis();
    domainAxis.setLowerBound(Collections.min(buildMap.keySet()));
    domainAxis.setUpperBound(Collections.max(buildMap.keySet()));
    final TickUnitSource ticks = NumberAxis.createIntegerTickUnits();
    domainAxis.setStandardTickUnits(ticks);
    xyPlot.setDomainAxis(domainAxis);
    ChartUtil.setupPlot(xyPlot);
    return new ChartHelper(chart);
}

From source file:edu.ucla.stat.SOCR.chart.demo.StackedXYAreaChartDemo2.java

/**
 * Creates a sample chart.//ww w.  j  a v  a 2 s.co  m
 * 
 * @param dataset  the dataset for the chart.
 * 
 * @return a sample chart.
 */
protected JFreeChart createChart(TableXYDataset dataset) {

    JFreeChart chart = ChartFactory.createStackedXYAreaChart(chartTitle, // chart title
            domainLabel, // domain axis label
            rangeLabel, // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // the plot orientation
            !legendPanelOn, // legend
            true, // tooltips
            false // urls
    );
    XYPlot plot = (XYPlot) chart.getPlot();
    StackedXYAreaRenderer2 renderer = new StackedXYAreaRenderer2();
    renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
    plot.setRenderer(0, renderer);

    renderer.setLegendItemLabelGenerator(new SOCRXYSeriesLabelGenerator());
    setXSummary(dataset);
    return chart;

}

From source file:com.griddynamics.jagger.reporting.chart.ChartHelper.java

public static JFreeChart createStackedAreaChart(String title, XYSeriesCollection areaData,
        XYSeriesCollection lineData, String xLabel, String yLabel, ColorTheme theme) {

    final ValueAxis xAxis = new NumberAxis(xLabel);
    final ValueAxis yAxis = new NumberAxis(yLabel);
    XYPlot mainPlot = new XYPlot();
    mainPlot.setDomainAxis(xAxis);// w w w . java2 s .  com
    mainPlot.setRangeAxis(yAxis);

    mainPlot.setForegroundAlpha(0.9f);

    //[ stacked area
    DefaultTableXYDataset areaDs = new DefaultTableXYDataset();
    for (int i = 0; i < areaData.getSeriesCount(); i++) {
        areaDs.addSeries(areaData.getSeries(i));
    }
    XYItemRenderer stackedRenderer = new StackedXYAreaRenderer2();
    mainPlot.setDataset(areaDs);
    mainPlot.setRenderer(stackedRenderer);

    Color[] colors = generateJetSpectrum(areaData.getSeriesCount());
    for (int i = 0; i < areaData.getSeriesCount(); i++) {
        stackedRenderer.setSeriesPaint(i, colors[i]);
    }
    //]

    //[ lines
    if (lineData != null) {
        XYItemRenderer lineRenderer = new StandardXYItemRenderer();
        DefaultTableXYDataset lineDs = new DefaultTableXYDataset();
        for (int i = 0; i < lineData.getSeriesCount(); i++) {
            lineDs.addSeries(lineData.getSeries(i));
        }
        mainPlot.setDataset(1, lineDs);
        mainPlot.setRenderer(1, lineRenderer);

        colors = new Color[] { Color.black, Color.red, Color.darkGray };
        for (int i = 0; i < lineData.getSeriesCount(); i++) {
            lineRenderer.setSeriesPaint(i, colors[i % colors.length]);
            lineRenderer.setSeriesStroke(i, new BasicStroke(2f));
        }
    }
    //]

    mainPlot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);

    JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, mainPlot, true);

    formatColorTheme(chart, theme);

    return chart;
}

From source file:edu.ucla.stat.SOCR.chart.SuperAreaChart_XY.java

/**
 * Creates a chart.//from w w w .  ja  v  a 2  s  .c o  m
 * 
 * @param dataset  the dataset.
 * 
 * @return a chart.
 */
protected JFreeChart createChart(TableXYDataset dataset) {
    // create the chart...
    JFreeChart chart = ChartFactory.createStackedXYAreaChart(chartTitle, // chart title
            domainLabel, // x axis label
            rangeLabel, // y axis label
            dataset, // data
            PlotOrientation.VERTICAL, !legendPanelOn, // include legend
            true, // tooltips
            false // urls
    );

    XYPlot plot = (XYPlot) chart.getPlot();
    StackedXYAreaRenderer2 renderer = new StackedXYAreaRenderer2();
    renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
    plot.setRenderer(0, renderer);
    return chart;

}

From source file:edu.ucla.stat.SOCR.chart.SuperAreaChart_XY.java

protected JFreeChart createLegend(TableXYDataset dataset) {

    //  JFreeChart chart = ChartFactory.createAreaChart(
    JFreeChart chart = ChartFactory.createStackedXYAreaChart(chartTitle, // chart title
            domainLabel, // x axis label
            rangeLabel, // y axis label
            dataset, // data
            PlotOrientation.VERTICAL, true, // include legend
            true, // tooltips
            false // urls
    );/*from   ww  w . j  a v a2 s .  c  o  m*/

    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
    XYPlot plot = (XYPlot) chart.getPlot();
    StackedXYAreaRenderer2 renderer = new StackedXYAreaRenderer2();
    renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
    plot.setRenderer(0, renderer);
    renderer.setLegendItemLabelGenerator(new SOCRXYSeriesLabelGenerator());
    return chart;

}

From source file:msi.gama.outputs.layers.ChartDataStatement.java

/**
 * @throws GamaRuntimeException//w w  w  .j  a  v  a  2 s. c  om
 * @param scope
 */
public ChartData createData(final IScope scope) throws GamaRuntimeException {
    ChartData data = new ChartData();
    String style = getLiteral(IKeyword.STYLE);
    if (style == null) {
        style = IKeyword.LINE;
    }

    GamaColor color = Cast.asColor(scope, getFacetValue(scope, IKeyword.COLOR, Cast.asColor(scope, "black")));
    boolean showMarkers = getFacetValue(scope, MARKER, true);
    boolean showLine = getFacetValue(scope, LINE_VISIBLE, true);
    boolean fillMarkers = getFacetValue(scope, FILL, true);
    String shapeMarker = getFacetValue(scope, MARKERSHAPE, null);

    AbstractRenderer r = null;
    if (style.equals(IKeyword.LINE)) {
        r = new XYLineAndShapeRenderer(true, showMarkers);
        r.setSeriesPaint(0, color);
        ((XYLineAndShapeRenderer) r).setBaseShapesFilled(fillMarkers);
        if (shapeMarker != null) {
            if (shapeMarker.equals(MARKER_SQUARE)) {
                ((XYLineAndShapeRenderer) r).setSeriesShape(0, defaultmarkers[0]);
            } else if (shapeMarker.equals(MARKER_CIRCLE)) {
                ((XYLineAndShapeRenderer) r).setSeriesShape(0, defaultmarkers[1]);
            } else if (shapeMarker.equals(MARKER_UP_TRIANGLE)) {
                ((XYLineAndShapeRenderer) r).setSeriesShape(0, defaultmarkers[2]);
            } else if (shapeMarker.equals(MARKER_DIAMOND)) {
                ((XYLineAndShapeRenderer) r).setSeriesShape(0, defaultmarkers[3]);
            } else if (shapeMarker.equals(MARKER_HOR_RECTANGLE)) {
                ((XYLineAndShapeRenderer) r).setSeriesShape(0, defaultmarkers[4]);
            } else if (shapeMarker.equals(MARKER_DOWN_TRIANGLE)) {
                ((XYLineAndShapeRenderer) r).setSeriesShape(0, defaultmarkers[5]);
            } else if (shapeMarker.equals(MARKER_HOR_ELLIPSE)) {
                ((XYLineAndShapeRenderer) r).setSeriesShape(0, defaultmarkers[6]);
            } else if (shapeMarker.equals(MARKER_RIGHT_TRIANGLE)) {
                ((XYLineAndShapeRenderer) r).setSeriesShape(0, defaultmarkers[7]);
            } else if (shapeMarker.equals(MARKER_VERT_RECTANGLE)) {
                ((XYLineAndShapeRenderer) r).setSeriesShape(0, defaultmarkers[8]);
            } else if (shapeMarker.equals(MARKER_LEFT_TRIANGLE)) {
                ((XYLineAndShapeRenderer) r).setSeriesShape(0, defaultmarkers[9]);
            } else if (shapeMarker.equals(MARKER_EMPTY)) {
                ((XYLineAndShapeRenderer) r).setSeriesShapesVisible(0, false);
            }

        }
        ((XYLineAndShapeRenderer) r).setSeriesLinesVisible(0, showLine);
    } else if (style.equals(IKeyword.AREA)) {
        r = new XYAreaRenderer();
        r.setSeriesPaint(0, color);
    } else if (style.equals(IKeyword.WHISKER)) {
        r = new BoxAndWhiskerRenderer();
        r.setSeriesPaint(0, color);
    } else if (style.equals(IKeyword.BAR)) {
        r = new BarRenderer();
        r.setSeriesPaint(0, color);
    } else if (style.equals(IKeyword.DOT)) {
        r = new XYDotRenderer();
        r = new XYShapeRenderer();
        r.setSeriesPaint(0, color);
    } else if (style.equals(IKeyword.SPLINE)) {
        r = new XYSplineRenderer();
        r.setSeriesPaint(0, color);
        ((XYSplineRenderer) r).setBaseShapesFilled(fillMarkers);
        ((XYSplineRenderer) r).setBaseShapesVisible(showMarkers);
    } else if (style.equals(IKeyword.STEP)) {
        r = new XYStepRenderer();
    } else if (style.equals(IKeyword.AREA_STACK)) {
        r = new StackedXYAreaRenderer2();
        r.setSeriesPaint(0, color);
    } else if (style.equals(IKeyword.STACK)) {
        r = new StackedBarRenderer();
        r.setSeriesPaint(0, color);
        // ((XYStepRenderer) r).setBaseShapesFilled(fillMarkers);
        // ((XYStepRenderer) r).setBaseShapesVisible(showMarkers);
    }
    data.renderer = r;

    data.name = Cast.asString(scope,
            getFacetValue(scope, IKeyword.LEGEND, getFacetValue(scope, IKeyword.NAME, "data" + dataNumber++)));
    data.color = color;
    // r.setSeriesPaint(0, data.color);
    // in order to "detach" the expression from the current definition scope
    data.value = getFacet(IKeyword.VALUE).resolveAgainst(scope);
    return data;
}