List of usage examples for org.jfree.chart ChartFactory createStackedXYAreaChart
public static JFreeChart createStackedXYAreaChart(String title, String xAxisLabel, String yAxisLabel, TableXYDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls)
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); }