List of usage examples for org.jfree.chart.renderer.category AreaRenderer AreaRenderer
public AreaRenderer()
From source file:org.sonar.plugins.core.charts.DistributionAreaChart.java
@Override protected Plot getPlot(ChartParameters params) { DefaultCategoryDataset dataset = createDataset(params); CategoryAxis domainAxis = new CategoryAxis(); domainAxis.setCategoryMargin(0.0);//w w w. j a va2 s .com domainAxis.setLowerMargin(0.0); domainAxis.setUpperMargin(0.0); NumberAxis rangeAxis = new NumberAxis(); rangeAxis.setNumberFormatOverride(NumberFormat.getIntegerInstance(params.getLocale())); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); AreaRenderer renderer = new AreaRenderer(); CategoryPlot plot = new CategoryPlot(dataset, domainAxis, rangeAxis, renderer); plot.setForegroundAlpha(0.5f); plot.setDomainGridlinesVisible(true); configureColors(dataset, plot, params.getValues(PARAM_COLORS, ",")); return plot; }
From source file:de.laures.cewolf.taglib.PlotTypes.java
/** * Create a renderer for the given type index. * We create a new renderer instance for each chart, because they may want to customize * it in a post-processor.//from ww w .j a v a 2 s .co m * * @param idx The index of the type * @return A new renderer instance */ public static AbstractRenderer getRenderer(int idx) { switch (idx) { case 0: return new XYAreaRenderer(); case 1: return new StandardXYItemRenderer(); case 2: return new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES_AND_LINES); case 3: return new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES); case 4: return new XYBarRenderer(); case 5: return new XYStepRenderer(); case 6: return new CandlestickRenderer(); case 7: return new HighLowRenderer(); //case 8: return new SignalRenderer(); case 9: return new BarRenderer(); case 10: return new AreaRenderer(); case 11: return new LineAndShapeRenderer(true, false); case 12: return new LineAndShapeRenderer(true, true); default: throw new RuntimeException("Invalid renderer index:" + idx); } }
From source file:com.xpn.xwiki.plugin.charts.plots.AreaPlotFactory.java
public Plot create(DataSource dataSource, ChartParams params) throws GenerateException, DataSourceException { Class rendererClass = params.getClass(ChartParams.RENDERER); if (rendererClass == null || XYItemRenderer.class.isAssignableFrom(rendererClass)) { XYItemRenderer renderer;/* w w w . j ava2 s . com*/ if (rendererClass != null) { try { Constructor ctor = rendererClass.getConstructor(new Class[] {}); renderer = (XYItemRenderer) ctor.newInstance(new Object[] {}); } catch (Throwable e) { throw new GenerateException(e); } } else { renderer = new XYAreaRenderer(); } ChartCustomizer.customizeXYItemRenderer(renderer, params); return XYPlotFactory.getInstance().create(dataSource, renderer, params); } else if (CategoryItemRenderer.class.isAssignableFrom(rendererClass)) { CategoryItemRenderer renderer; if (rendererClass != null) { try { Constructor ctor = rendererClass.getConstructor(new Class[] {}); renderer = (CategoryItemRenderer) ctor.newInstance(new Object[] {}); } catch (Throwable e) { throw new GenerateException(e); } } else { renderer = new AreaRenderer(); } ChartCustomizer.customizeCategoryItemRenderer(renderer, params); return CategoryPlotFactory.getInstance().create(dataSource, renderer, params); } else { throw new GenerateException("Incompatible renderer class: " + rendererClass); } }
From source file:org.pentaho.chart.plugin.jfreechart.chart.multi.JFreeMultiChartGenerator.java
public JFreeChart createChart(final ChartDocumentContext chartDocContext, final ChartTableModel data, final CSSConstant chartType) { final ChartDocument chartDocument = chartDocContext.getChartDocument(); final String title = getTitle(chartDocument); final String valueCategoryLabel = getValueCategoryLabel(chartDocument); final String valueAxisLabel = getValueAxisLabel(chartDocument); final PlotOrientation orientation = getPlotOrientation(chartDocument); final boolean legend = getShowLegend(chartDocument); final boolean toolTips = getShowToolTips(chartDocument); final DefaultCategoryDataset categoryDataset = datasetGeneratorFactory .createDefaultCategoryDataset(chartDocContext, data); if (categoryDataset == null) { logger.error(Messages.getErrorString("JFreeChartFactoryEngine.ERROR_0001_DATASET_IS_NULL")); //$NON-NLS-1$ return null; }/*from w w w.j a v a 2 s . c om*/ JFreeChart chart = null; if (ChartMultiStyle.MULTI.equals(chartType)) { chart = ChartFactory.createBarChart(title, valueCategoryLabel, valueAxisLabel, categoryDataset, orientation, legend, toolTips, true); CategoryPlot plot = (CategoryPlot) chart.getPlot(); DefaultCategoryDataset dataset1 = categoryDataset; plot.setDataset(1, dataset1); DefaultCategoryDataset dataset2 = categoryDataset; plot.setDataset(2, dataset2); LineAndShapeRenderer renderer1 = new LineAndShapeRenderer(); renderer1.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); plot.setRenderer(1, renderer1); plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD); AreaRenderer renderer2 = new AreaRenderer(); renderer2.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); plot.setRenderer(2, renderer2); plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE); } final CategoryPlot categoryPlot = chart.getCategoryPlot(); final ChartElement[] seriesElements = chartDocument.getRootElement() .findChildrenByName(ChartElement.TAG_NAME_SERIES); if (categoryPlot != null && seriesElements != null) { setSeriesAttributes(seriesElements, data, categoryPlot); } return chart; }
From source file:com.ewcms.plugin.report.generate.service.chart.ChartGenerationService.java
/** * ?// ww w . ja v a 2 s . co m * * @param title * @param titleFont * @param categoryAxisLabel * @param valueAxisLabel * @param data ?? * @param orientation ? * @param legend * @param tooltips ???? * @param urls ??URL * @param urlGenerator * * @return ? */ public static JFreeChart createAreaChart(String title, java.awt.Font titleFont, String categoryAxisLabel, String valueAxisLabel, CategoryDataset data, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls, CategoryURLGenerator urlGenerator) { CategoryAxis categoryAxis = new CategoryAxis(categoryAxisLabel); categoryAxis.setCategoryMargin(0.0); ValueAxis valueAxis = new NumberAxis(valueAxisLabel); AreaRenderer renderer = new AreaRenderer(); if (tooltips) { // renderer.setToolTipGenerator(new StandardCategoryToolTipGenerator()); renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); } if (urls) { // renderer.setItemURLGenerator(urlGenerator); renderer.setBaseItemURLGenerator(urlGenerator); } CategoryPlot plot = new CategoryPlot(data, categoryAxis, valueAxis, renderer); plot.setOrientation(orientation); JFreeChart chart = new JFreeChart(title, titleFont, plot, legend); return chart; }
From source file:com.tonbeller.jpivot.chart.ChartFactory.java
/** * Creates an area chart with default settings. * * @param title the chart title./* w ww . j a va 2 s . c om*/ * @param categoryAxisLabel the label for the category axis. * @param valueAxisLabel the label for the value axis. * @param data the dataset for the chart. * @param legend a flag specifying whether or not a legend is required. * @param tooltips configure chart to generate tool tips? * @param urls configure chart to generate URLs? * * @return an area chart. */ public static JFreeChart createAreaChart(String title, java.awt.Font titleFont, String categoryAxisLabel, String valueAxisLabel, CategoryDataset data, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls, CategoryURLGenerator urlGenerator) { CategoryAxis categoryAxis = new CategoryAxis(categoryAxisLabel); categoryAxis.setCategoryMargin(0.0); ValueAxis valueAxis = new NumberAxis(valueAxisLabel); AreaRenderer renderer = new AreaRenderer(); if (tooltips) { renderer.setToolTipGenerator(new StandardCategoryToolTipGenerator()); } if (urls) { renderer.setItemURLGenerator(urlGenerator); } CategoryPlot plot = new CategoryPlot(data, categoryAxis, valueAxis, renderer); plot.setOrientation(orientation); JFreeChart chart = new JFreeChart(title, titleFont, plot, legend); return chart; }
From source file:org.pentaho.chart.plugin.jfreechart.chart.JFreeChartGenerator.java
/** * Set the renderer for the chart./*from w w w .j a v a 2s .com*/ * </p> * @param plot Plot element from the current chart document. * @param index Set the renderer for the index. */ //TODO: Look into this method for remaining implementations. private void setRenderer(final CategoryPlot plot, final int index) { if (plot.getRenderer() instanceof GroupedStackedBarRenderer) { } else if (plot.getRenderer() instanceof CylinderRenderer) { } else if (plot.getRenderer() instanceof BarRenderer3D) { } else if (plot.getRenderer() instanceof LayeredBarRenderer) { } else if (plot.getRenderer() instanceof BarRenderer) { final BarRenderer barRenderer = new BarRenderer(); plot.setRenderer(index, barRenderer); } else if (plot.getRenderer() instanceof AreaRenderer) { final AreaRenderer areaRenderer = new AreaRenderer(); plot.setRenderer(index, areaRenderer); } }
From source file:org.toobsframework.pres.chart.ChartUtil.java
public static AbstractRenderer getRenderer(IRequest componentRequest, BasePlot plot, DatasetGroup group, Map params) {/* w ww . j av a 2 s .c om*/ AbstractRenderer renderer = null; String format = ParameterUtil.resolveParam(componentRequest, group.getRenderer(), params, "area")[0]; boolean is3D = (ParameterUtil.resolveParam(componentRequest, plot.getIs3D(), params, "false")[0] .equals("false") ? false : true); switch (supportedRenderers.get(format)) { case ChartUtil.RENDERER_TYPE_AREA: if (group.getStacked()) { renderer = new StackedAreaRenderer(); if (group.getRenderAsPercentages()) { ((StackedAreaRenderer) renderer).setRenderAsPercentages(true); } } else { renderer = new AreaRenderer(); } break; case ChartUtil.RENDERER_TYPE_BAR: if (is3D) { if (group.getStacked()) { renderer = new StackedBarRenderer3D(); if (group.getRenderAsPercentages()) { ((StackedBarRenderer3D) renderer).setRenderAsPercentages(true); } } else { renderer = new BarRenderer3D(); } } else { if (group.getStacked()) { renderer = new StackedBarRenderer(); if (group.getRenderAsPercentages()) { ((StackedBarRenderer) renderer).setRenderAsPercentages(true); } } else { renderer = new BarRenderer(); } } break; case ChartUtil.RENDERER_TYPE_BAR_EVEN_ODD: if (is3D) { if (group.getStacked()) { renderer = new EvenOddStackedBarRenderer3D(group.getEven()); if (group.getRenderAsPercentages()) { ((EvenOddStackedBarRenderer3D) renderer).setRenderAsPercentages(true); } } else { renderer = new EvenOddBarRenderer3D(group.getEven()); } } else { if (group.getStacked()) { renderer = new EvenOddStackedBarRenderer(group.getEven()); if (group.getRenderAsPercentages()) { ((EvenOddStackedBarRenderer) renderer).setRenderAsPercentages(true); } } else { renderer = new EvenOddBarRenderer(group.getEven()); } } break; case ChartUtil.RENDERER_TYPE_LINE: renderer = new LineAndShapeRenderer(); break; case ChartUtil.RENDERER_TYPE_PIE: break; } configureDomainItemLabels(componentRequest, plot, renderer, params, is3D); configureSeriesPaint(plot, group, renderer); return renderer; }
From source file:org.hxzon.demo.jfreechart.CategoryDatasetDemo2.java
private static JFreeChart createAreaChart(CategoryDataset dataset) { CategoryAxis categoryAxis = new CategoryAxis(categoryAxisLabel); categoryAxis.setCategoryMargin(0.0); ValueAxis valueAxis = new NumberAxis(valueAxisLabel); AreaRenderer renderer = new AreaRenderer(); if (tooltips) { renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); }// w w w . java 2 s . c o m if (urls) { renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator()); } CategoryPlot plot = new CategoryPlot(dataset, categoryAxis, valueAxis, renderer); plot.setOrientation(orientation); JFreeChart chart = new JFreeChart("Area Chart Demo 1", JFreeChart.DEFAULT_TITLE_FONT, plot, legend); chart.setBackgroundPaint(Color.white); renderer.setEndType(AreaRendererEndType.LEVEL); GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, Color.blue, 0.0f, 0.0f, new Color(0, 0, 64)); GradientPaint gp1 = new GradientPaint(0.0f, 0.0f, Color.green, 0.0f, 0.0f, new Color(0, 64, 0)); GradientPaint gp2 = new GradientPaint(0.0f, 0.0f, Color.red, 0.0f, 0.0f, new Color(64, 0, 0)); renderer.setSeriesPaint(0, gp0); renderer.setSeriesPaint(1, gp1); renderer.setSeriesPaint(2, gp2); plot.setDomainCrosshairVisible(true); plot.setRangeCrosshairVisible(true); return chart; }
From source file:org.orbeon.oxf.processor.serializer.legacy.JFreeChartSerializer.java
protected JFreeChart drawChart(ChartConfig chartConfig, final Dataset ds) { JFreeChart chart = null;/*ww w . ja va2 s. c om*/ Axis categoryAxis = null; if (ds instanceof XYSeriesCollection) { categoryAxis = new RestrictedNumberAxis(chartConfig.getCategoryTitle()); } else if (ds instanceof TimeSeriesCollection) { categoryAxis = new DateAxis(chartConfig.getCategoryTitle()); ((DateAxis) categoryAxis).setDateFormatOverride(new SimpleDateFormat(chartConfig.getDateFormat())); if (chartConfig.getCategoryLabelAngle() == 90) { ((DateAxis) categoryAxis).setVerticalTickLabels(true); } else { if (chartConfig.getCategoryLabelAngle() != 0) throw new OXFException( "The only supported values of category-label-angle for time-series charts are 0 or 90"); } } else { categoryAxis = new CategoryAxis(chartConfig.getCategoryTitle()); ((CategoryAxis) categoryAxis).setCategoryLabelPositions(chartConfig.getCategoryLabelPosition()); } NumberAxis valueAxis = new RestrictedNumberAxis(chartConfig.getSerieTitle()); valueAxis.setAutoRangeIncludesZero(chartConfig.getSerieAutoRangeIncludeZero()); AbstractRenderer renderer = null; Plot plot = null; switch (chartConfig.getType()) { case ChartConfig.VERTICAL_BAR_TYPE: case ChartConfig.HORIZONTAL_BAR_TYPE: renderer = (ds instanceof ItemPaintCategoryDataset) ? new BarRenderer() { public Paint getItemPaint(int row, int column) { Paint p = ((ItemPaintCategoryDataset) ds).getItemPaint(row, column); if (p != null) return p; else return getSeriesPaint(row); } } : new BarRenderer(); plot = new CategoryPlot((CategoryDataset) ds, (CategoryAxis) categoryAxis, (ValueAxis) valueAxis, (CategoryItemRenderer) renderer); if (chartConfig.getType() == ChartConfig.VERTICAL_BAR_TYPE) ((CategoryPlot) plot).setOrientation(PlotOrientation.VERTICAL); else ((CategoryPlot) plot).setOrientation(PlotOrientation.HORIZONTAL); break; case ChartConfig.STACKED_VERTICAL_BAR_TYPE: case ChartConfig.STACKED_HORIZONTAL_BAR_TYPE: renderer = (ds instanceof ItemPaintCategoryDataset) ? new StackedBarRenderer() { public Paint getItemPaint(int row, int column) { Paint p = ((ItemPaintCategoryDataset) ds).getItemPaint(row, column); if (p != null) return p; else return getSeriesPaint(row); } } : new StackedBarRenderer(); plot = new CategoryPlot((CategoryDataset) ds, (CategoryAxis) categoryAxis, (ValueAxis) valueAxis, (CategoryItemRenderer) renderer); if (chartConfig.getType() == ChartConfig.STACKED_VERTICAL_BAR_TYPE) ((CategoryPlot) plot).setOrientation(PlotOrientation.VERTICAL); else ((CategoryPlot) plot).setOrientation(PlotOrientation.HORIZONTAL); break; case ChartConfig.LINE_TYPE: renderer = (ds instanceof ItemPaintCategoryDataset) ? new LineAndShapeRenderer(true, false) { public Paint getItemPaint(int row, int column) { Paint p = ((ItemPaintCategoryDataset) ds).getItemPaint(row, column); if (p != null) return p; else return getSeriesPaint(row); } } : (new LineAndShapeRenderer(true, false)); plot = new CategoryPlot((CategoryDataset) ds, (CategoryAxis) categoryAxis, (ValueAxis) valueAxis, (CategoryItemRenderer) renderer); ((CategoryPlot) plot).setOrientation(PlotOrientation.VERTICAL); break; case ChartConfig.AREA_TYPE: renderer = (ds instanceof ItemPaintCategoryDataset) ? new AreaRenderer() { public Paint getItemPaint(int row, int column) { Paint p = ((ItemPaintCategoryDataset) ds).getItemPaint(row, column); if (p != null) return p; else return getSeriesPaint(row); } } : new AreaRenderer(); plot = new CategoryPlot((CategoryDataset) ds, (CategoryAxis) categoryAxis, (ValueAxis) valueAxis, (CategoryItemRenderer) renderer); ((CategoryPlot) plot).setOrientation(PlotOrientation.VERTICAL); break; case ChartConfig.VERTICAL_BAR3D_TYPE: case ChartConfig.HORIZONTAL_BAR3D_TYPE: categoryAxis = new CategoryAxis3D(chartConfig.getCategoryTitle()); valueAxis = new NumberAxis3D(chartConfig.getSerieTitle()); renderer = (ds instanceof ItemPaintCategoryDataset) ? new BarRenderer3D() { public Paint getItemPaint(int row, int column) { Paint p = ((ItemPaintCategoryDataset) ds).getItemPaint(row, column); if (p != null) return p; else return getSeriesPaint(row); } } : new BarRenderer3D(); plot = new CategoryPlot((CategoryDataset) ds, (CategoryAxis) categoryAxis, (ValueAxis) valueAxis, (CategoryItemRenderer) renderer); if (chartConfig.getType() == ChartConfig.VERTICAL_BAR3D_TYPE) ((CategoryPlot) plot).setOrientation(PlotOrientation.VERTICAL); else ((CategoryPlot) plot).setOrientation(PlotOrientation.HORIZONTAL); break; case ChartConfig.STACKED_VERTICAL_BAR3D_TYPE: case ChartConfig.STACKED_HORIZONTAL_BAR3D_TYPE: categoryAxis = new CategoryAxis3D(chartConfig.getCategoryTitle()); valueAxis = new NumberAxis3D(chartConfig.getSerieTitle()); renderer = (ds instanceof ItemPaintCategoryDataset) ? new StackedBarRenderer3D() { public Paint getItemPaint(int row, int column) { Paint p = ((ItemPaintCategoryDataset) ds).getItemPaint(row, column); if (p != null) return p; else return getSeriesPaint(row); } } : new StackedBarRenderer3D(); plot = new CategoryPlot((CategoryDataset) ds, (CategoryAxis) categoryAxis, (ValueAxis) valueAxis, (CategoryItemRenderer) renderer); if (chartConfig.getType() == ChartConfig.STACKED_VERTICAL_BAR3D_TYPE) ((CategoryPlot) plot).setOrientation(PlotOrientation.VERTICAL); else ((CategoryPlot) plot).setOrientation(PlotOrientation.HORIZONTAL); break; case ChartConfig.PIE_TYPE: case ChartConfig.PIE3D_TYPE: categoryAxis = null; valueAxis = null; renderer = null; ExtendedPieDataset pds = (ExtendedPieDataset) ds; plot = chartConfig.getType() == ChartConfig.PIE_TYPE ? new PiePlot(pds) : new PiePlot3D(pds); PiePlot pp = (PiePlot) plot; pp.setLabelGenerator(new StandardPieSectionLabelGenerator()); for (int i = 0; i < pds.getItemCount(); i++) { Paint p = pds.getPaint(i); if (p != null) pp.setSectionPaint(i, p); pp.setExplodePercent(i, pds.getExplodePercent(i)); Paint paint = pds.getPaint(i); if (paint != null) pp.setSectionPaint(i, paint); } break; case ChartConfig.XY_LINE_TYPE: renderer = new XYLineAndShapeRenderer(true, false); plot = new XYPlot((XYDataset) ds, (ValueAxis) categoryAxis, (ValueAxis) valueAxis, (XYLineAndShapeRenderer) renderer); break; case ChartConfig.TIME_SERIES_TYPE: renderer = new XYLineAndShapeRenderer(true, false); plot = new XYPlot((XYDataset) ds, (DateAxis) categoryAxis, (ValueAxis) valueAxis, (XYLineAndShapeRenderer) renderer); break; default: throw new OXFException("Chart Type not supported"); } if (categoryAxis != null) { categoryAxis.setLabelPaint(chartConfig.getTitleColor()); categoryAxis.setTickLabelPaint(chartConfig.getTitleColor()); categoryAxis.setTickMarkPaint(chartConfig.getTitleColor()); if (categoryAxis instanceof RestrictedNumberAxis) { ((RestrictedNumberAxis) categoryAxis).setMaxTicks(chartConfig.getMaxNumOfLabels()); } if (categoryAxis instanceof CategoryAxis && chartConfig.getCategoryMargin() != 0) ((CategoryAxis) categoryAxis).setCategoryMargin(chartConfig.getCategoryMargin()); } if (valueAxis != null) { valueAxis.setLabelPaint(chartConfig.getTitleColor()); valueAxis.setTickLabelPaint(chartConfig.getTitleColor()); valueAxis.setTickMarkPaint(chartConfig.getTitleColor()); ((RestrictedNumberAxis) valueAxis).setMaxTicks(chartConfig.getMaxNumOfLabels()); } if (renderer != null) { if (renderer instanceof XYLineAndShapeRenderer) { ((XYLineAndShapeRenderer) renderer).setBaseItemLabelGenerator(new StandardXYItemLabelGenerator()); } else { ((CategoryItemRenderer) renderer) .setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); } if (renderer instanceof BarRenderer) ((BarRenderer) renderer).setItemMargin(chartConfig.getBarMargin()); int j = 0; for (Iterator i = chartConfig.getValueIterator(); i.hasNext();) { Value v = (Value) i.next(); renderer.setSeriesPaint(j, v.getColor()); j++; } } plot.setOutlinePaint(chartConfig.getTitleColor()); CustomLegend legend = chartConfig.getLegendConfig(); chart = new JFreeChart(chartConfig.getTitle(), TextTitle.DEFAULT_FONT, plot, false); if (legend.isVisible()) { legend.setSources(new LegendItemSource[] { plot }); chart.addLegend(legend); } chart.setBackgroundPaint(chartConfig.getBackgroundColor()); TextTitle textTitle = new TextTitle(chartConfig.getTitle(), TextTitle.DEFAULT_FONT, chartConfig.getTitleColor(), TextTitle.DEFAULT_POSITION, TextTitle.DEFAULT_HORIZONTAL_ALIGNMENT, TextTitle.DEFAULT_VERTICAL_ALIGNMENT, TextTitle.DEFAULT_PADDING); chart.setTitle(textTitle); return chart; }