Example usage for org.jfree.chart ChartFactory createStackedXYAreaChart

List of usage examples for org.jfree.chart ChartFactory createStackedXYAreaChart

Introduction

In this page you can find the example usage for org.jfree.chart ChartFactory createStackedXYAreaChart.

Prototype

public static JFreeChart createStackedXYAreaChart(String title, String xAxisLabel, String yAxisLabel,
        TableXYDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) 

Source Link

Document

Creates a stacked XY area plot.

Usage

From source file:org.webcat.grader.graphs.StackedAreaChart.java

@Override
protected JFreeChart generateChart(WCChartTheme chartTheme) {
    JFreeChart chart = ChartFactory.createStackedXYAreaChart(null, xAxisLabel(), yAxisLabel(), tableXYDataset(),
            orientation(), true, false, false);

    XYPlot plot = chart.getXYPlot();/*from   w  ww  .  j a va2  s .  co  m*/

    long diff = (long) tableXYDataset().getXValue(0, tableXYDataset().getItemCount() - 1)
            - (long) tableXYDataset().getXValue(0, 0);

    GregorianCalendar calDiff = new GregorianCalendar();
    calDiff.setTime(new NSTimestamp(diff));

    // Set the time axis
    PeriodAxis axis = new PeriodAxis(null); // ( "Date" );
    PeriodAxisLabelInfo labelinfo[] = new PeriodAxisLabelInfo[2];

    if (calDiff.get(Calendar.DAY_OF_YEAR) > 1) {
        axis.setTimeZone(TimeZone.getTimeZone(user().timeZoneName()));
        axis.setAutoRangeTimePeriodClass(org.jfree.data.time.Day.class);
        axis.setMajorTickTimePeriodClass(org.jfree.data.time.Week.class);

        labelinfo[0] = new PeriodAxisLabelInfo(org.jfree.data.time.Day.class, new SimpleDateFormat("d"),
                PeriodAxisLabelInfo.DEFAULT_INSETS, chartTheme.smallFont(), chartTheme.textColor(), true,
                PeriodAxisLabelInfo.DEFAULT_DIVIDER_STROKE, PeriodAxisLabelInfo.DEFAULT_DIVIDER_PAINT);

        labelinfo[1] = new PeriodAxisLabelInfo(org.jfree.data.time.Month.class, new SimpleDateFormat("MMM"),
                PeriodAxisLabelInfo.DEFAULT_INSETS, chartTheme.smallFont(), chartTheme.textColor(), true,
                PeriodAxisLabelInfo.DEFAULT_DIVIDER_STROKE, PeriodAxisLabelInfo.DEFAULT_DIVIDER_PAINT);
    } else {
        axis.setAutoRangeTimePeriodClass(org.jfree.data.time.Hour.class);

        labelinfo[0] = new PeriodAxisLabelInfo(org.jfree.data.time.Day.class, new SimpleDateFormat("ha"),
                PeriodAxisLabelInfo.DEFAULT_INSETS, chartTheme.smallFont(), chartTheme.textColor(), true,
                PeriodAxisLabelInfo.DEFAULT_DIVIDER_STROKE, PeriodAxisLabelInfo.DEFAULT_DIVIDER_PAINT);

        labelinfo[1] = new PeriodAxisLabelInfo(org.jfree.data.time.Month.class, new SimpleDateFormat("MMM-d"),
                PeriodAxisLabelInfo.DEFAULT_INSETS, chartTheme.smallFont(), chartTheme.textColor(), true,
                PeriodAxisLabelInfo.DEFAULT_DIVIDER_STROKE, PeriodAxisLabelInfo.DEFAULT_DIVIDER_PAINT);
    }

    axis.setLabelInfo(labelinfo);
    plot.setDomainAxis(axis);

    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    NumberTickUnit tickUnit = new NumberTickUnit(5);
    rangeAxis.setTickUnit(tickUnit);

    XYAreaRenderer2 renderer = (XYAreaRenderer2) plot.getRenderer();
    renderer.setOutline(true);
    renderer.setAutoPopulateSeriesOutlinePaint(true);

    plot.setDomainMinorGridlinesVisible(false);
    plot.setRangeMinorGridlinesVisible(false);

    if (markValue != null) {
        plot.setDomainCrosshairVisible(true);
        plot.setDomainCrosshairValue(markValue.doubleValue());
        plot.setDomainCrosshairPaint(Color.red);
        plot.setDomainCrosshairStroke(MARKER_STROKE);
    }

    chart.getLegend().setBorder(0, 0, 0, 0);

    return chart;
}

From source file:org.jfree.chart.demo.StackedXYAreaChartDemo2.java

/**
 * Creates a sample chart.//from   ww w . j a v a2s . c o  m
 * 
 * @param dataset  the dataset for the chart.
 * 
 * @return a sample chart.
 */
private JFreeChart createChart(final TableXYDataset dataset) {

    final JFreeChart chart = ChartFactory.createStackedXYAreaChart("Stacked XY Area Chart Demo 2", // chart title
            "Category", // domain axis label
            "Value", // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // the plot orientation
            true, // legend
            true, // tooltips
            false // urls
    );
    return chart;

}

From source file:uk.co.petertribble.jkstat.gui.KstatAggregateAreaChart.java

private void init(List<String> statistics) {
    statlist = statistics;//from  w w  w .  j  ava  2s . c  om
    dataset = new TimeTableXYDataset();

    cks = new ChartableKstatAggregate(jkstat, ksa);

    if (jkstat instanceof SequencedJKstat) {
        readAll(((SequencedJKstat) jkstat).newInstance());
    } else {
        updateAccessory();
    }

    String ylabel = showdelta ? KstatResources.getString("CHART.RATE")
            : KstatResources.getString("CHART.VALUE");

    chart = ChartFactory.createStackedXYAreaChart(cks.toString(), KstatResources.getString("CHART.TIME"),
            ylabel, dataset, PlotOrientation.VERTICAL, true, true, false);

    setAxes();

    if (!(jkstat instanceof SequencedJKstat)) {
        startLoop();
    }
}

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

/**
 * Creates a sample chart./*from   w  w  w. j a  v a2  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:uk.co.petertribble.jkstat.gui.KstatSetAreaChart.java

private void init(List<String> statistics) {
    statlist = statistics;/*from  w  w  w . j a  v a  2 s  . c  om*/
    dataset = new TimeTableXYDataset();
    kMap = new HashMap<Kstat, ChartableKstat>();

    for (Kstat ks : kss.getKstats()) {
        kMap.put(ks, new ChartableKstat(jkstat, ks));
    }

    if (jkstat instanceof SequencedJKstat) {
        readAll(((SequencedJKstat) jkstat).newInstance());
    } else {
        updateAccessory();
    }

    String ylabel = showdelta ? KstatResources.getString("CHART.RATE")
            : KstatResources.getString("CHART.VALUE");

    chart = ChartFactory.createStackedXYAreaChart(kss.toString() == null ? "statistic" : kss.toString(),
            KstatResources.getString("CHART.TIME"), ylabel, dataset, PlotOrientation.VERTICAL, true, true,
            false);

    setAxes();

    if (!(jkstat instanceof SequencedJKstat)) {
        startLoop();
    }
}

From source file:uk.co.petertribble.jkstat.gui.KstatAreaChart.java

private void init(List<String> statistics) {
    statlist = statistics;/*from ww  w.j  av a  2 s  .c  om*/
    dataset = new TimeTableXYDataset();

    allstats = cks.getStatistics();

    if (jkstat instanceof SequencedJKstat) {
        readAll(((SequencedJKstat) jkstat).newInstance());
    } else {
        updateAccessory();
    }

    String ylabel = showdelta ? KstatResources.getString("CHART.RATE")
            : KstatResources.getString("CHART.VALUE");

    chart = ChartFactory.createStackedXYAreaChart(cks.toString(), KstatResources.getString("CHART.TIME"),
            ylabel, dataset, PlotOrientation.VERTICAL, true, true, false);

    setAxes();

    if (!(jkstat instanceof SequencedJKstat)) {
        startLoop();
    }
}

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

/**
 * {@inheritDoc}/*w w  w  . java 2  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:eu.stratosphere.addons.visualization.swt.SWTInstanceToolTip.java

private ChartComposite createCPUChart(InstanceVisualizationData instanceVisualizationData,
        Color backgroundColor) {//w w w .  java2  s.  co m

    final JFreeChart chart = ChartFactory.createStackedXYAreaChart(null, "Time [sec.]", "CPU",
            instanceVisualizationData.getCpuDataSet(), PlotOrientation.VERTICAL, true, true, false);

    chart.setBackgroundPaint(new java.awt.Color(backgroundColor.getRed(), backgroundColor.getGreen(),
            backgroundColor.getBlue()));

    // Set axis properly
    final XYPlot xyPlot = chart.getXYPlot();
    xyPlot.getDomainAxis().setAutoRange(true);
    xyPlot.getDomainAxis().setAutoRangeMinimumSize(60);

    xyPlot.getRangeAxis().setAutoRange(false);
    xyPlot.getRangeAxis().setRange(0, 100);

    return new ChartComposite(getShell(), SWT.NONE, chart, true);
}

From source file:playground.ivt.utils.TripModeShares.java

private void writePng() {
    final DefaultTableXYDataset dataset = new DefaultTableXYDataset();

    for (ModeHistory h : history.getHistories()) {
        final XYSeries series = new XYSeries(h.mode, false, false);

        for (int i : history.getIterations()) {
            series.add(i, h.getCount(i));
        }/*from   w ww .j av  a2s. c o  m*/

        dataset.addSeries(series);
    }

    final ChartUtil chart = new WrapperChartUtil(
            ChartFactory.createStackedXYAreaChart("number of trips per mode", "iteration", "n trips", dataset,
                    PlotOrientation.VERTICAL, true, false, false));
    chart.addMatsimLogo();
    chart.saveAsPng(this.pngFileName, 800, 600);

}

From source file:eu.stratosphere.addons.visualization.swt.SWTJobTabItem.java

private ChartComposite initializeCPUChart(Composite parentComposite, TableXYDataset dataset) {

    final JFreeChart chart = ChartFactory.createStackedXYAreaChart("CPU", "Time [sec.]",
            "Average CPU utilization [%]", dataset, PlotOrientation.VERTICAL, true, true, false);

    // Set axis properly
    final XYPlot xyPlot = chart.getXYPlot();
    xyPlot.getDomainAxis().setAutoRange(true);
    xyPlot.getDomainAxis().setAutoRangeMinimumSize(60);

    xyPlot.getRangeAxis().setAutoRange(false);
    xyPlot.getRangeAxis().setRange(0, 100);

    return new ChartComposite(parentComposite, SWT.NONE, chart, true);
}