List of usage examples for org.jfree.chart.renderer AbstractRenderer setSeriesPaint
public void setSeriesPaint(int series, Paint paint)
From source file:org.operamasks.faces.render.graph.ChartRenderer.java
protected void setSeriesStyles(AbstractRenderer renderer, UIChart comp, int index, UIDataItem item) { if (!item.isShowLegend() || item.getLegend() == null) { renderer.setSeriesVisibleInLegend(index, false); }/*from w w w . j ava 2s.c om*/ Paint color = item.getColor(); if (color != null) { renderer.setSeriesPaint(index, color); } Paint outlineColor = item.getOutlineColor(); if (outlineColor == null) { outlineColor = comp.getOutlineColor(); if (outlineColor == null) { outlineColor = renderer.getSeriesPaint(index); if (outlineColor instanceof Color) { outlineColor = ((Color) outlineColor).darker(); } } } renderer.setSeriesOutlinePaint(index, outlineColor); Boolean drawItemLabel = item.getDrawItemLabel(); if (drawItemLabel != null) { renderer.setSeriesItemLabelsVisible(index, drawItemLabel); if (drawItemLabel) { if (renderer instanceof CategoryItemRenderer) { CategoryItemRenderer r = (CategoryItemRenderer) renderer; if (r.getBaseItemLabelGenerator() == null) { r.setSeriesItemLabelGenerator(index, new StandardCategoryItemLabelGenerator()); } } else if (renderer instanceof XYItemRenderer) { XYItemRenderer r = (XYItemRenderer) renderer; if (r.getBaseItemLabelGenerator() == null) { r.setSeriesItemLabelGenerator(index, new StandardXYItemLabelGenerator()); } } } } Paint itemLabelColor = item.getItemLabelColor(); if (itemLabelColor != null) { renderer.setSeriesItemLabelPaint(index, itemLabelColor); } Font itemLabelFont = item.getItemLabelFont(); if (itemLabelFont != null) { renderer.setSeriesItemLabelFont(index, itemLabelFont); } }
From source file:com.xpn.xwiki.plugin.charts.ChartCustomizer.java
public static void customizeRenderer(AbstractRenderer renderer, ChartParams params) { if (params.get(ChartParams.RENDERER_COLOR) != null) { renderer.setPaint(params.getColor(ChartParams.RENDERER_COLOR)); }//w w w. ja v a 2s. c o m if (params.get(ChartParams.RENDERER_STROKE) != null) { renderer.setStroke(params.getStroke(ChartParams.RENDERER_STROKE)); } if (params.get(ChartParams.RENDERER_SHAPE) != null) { renderer.setShape(params.getShape(ChartParams.RENDERER_SHAPE)); } if (params.get(ChartParams.RENDERER_FILL_COLOR) != null) { renderer.setFillPaint(params.getColor(ChartParams.RENDERER_FILL_COLOR)); } if (params.get(ChartParams.RENDERER_OUTLINE_COLOR) != null) { renderer.setOutlinePaint(params.getColor(ChartParams.RENDERER_OUTLINE_COLOR)); } if (params.get(ChartParams.RENDERER_OUTLINE_STROKE) != null) { renderer.setOutlineStroke(params.getStroke(ChartParams.RENDERER_OUTLINE_STROKE)); } if (params.get(ChartParams.RENDERER_ITEM_LABEL_VISIBLE) != null) { if (params.getBoolean(ChartParams.RENDERER_ITEM_LABEL_VISIBLE).booleanValue()) { renderer.setItemLabelsVisible(true); if (params.get(ChartParams.RENDERER_ITEM_LABEL_COLOR) != null) { renderer.setItemLabelPaint(params.getColor(ChartParams.RENDERER_ITEM_LABEL_COLOR)); } if (params.get(ChartParams.RENDERER_ITEM_LABEL_FONT) != null) { renderer.setItemLabelFont(params.getFont(ChartParams.RENDERER_ITEM_LABEL_FONT)); } } else { renderer.setItemLabelsVisible(false); } } if (params.get(ChartParams.RENDERER_SERIES_VISIBLE) != null) { renderer.setSeriesVisible(params.getBoolean(ChartParams.RENDERER_SERIES_VISIBLE)); } if (params.get(ChartParams.RENDERER_SERIES_VISIBLE_IN_LEGEND) != null) { renderer.setSeriesVisibleInLegend(params.getBoolean(ChartParams.RENDERER_SERIES_VISIBLE_IN_LEGEND)); } // series if (params.get(ChartParams.RENDERER_SERIES_COLORS) != null) { List list = params.getList(ChartParams.RENDERER_SERIES_COLORS); for (int i = 0; i < list.size(); i++) { renderer.setSeriesPaint(i, (Color) list.get(i)); } // TODO: how the f*** do we get rid of the default values -- we don't! :( // for (int i = list.size(); renderer.getSeriesPaint(i) != null; i++) { // renderer.setSeriesPaint(i, null); // } } if (params.get(ChartParams.RENDERER_SERIES_STROKES) != null) { List list = params.getList(ChartParams.RENDERER_SERIES_STROKES); for (int i = 0; i < list.size(); i++) { renderer.setSeriesStroke(i, (Stroke) list.get(i)); } } if (params.get(ChartParams.RENDERER_SERIES_SHAPES) != null) { List list = params.getList(ChartParams.RENDERER_SERIES_SHAPES); for (int i = 0; i < list.size(); i++) { renderer.setSeriesShape(i, (Shape) list.get(i)); } } if (params.get(ChartParams.RENDERER_SERIES_FILL_COLORS) != null) { List list = params.getList(ChartParams.RENDERER_SERIES_FILL_COLORS); for (int i = 0; i < list.size(); i++) { renderer.setSeriesFillPaint(i, (Color) list.get(i)); } } if (params.get(ChartParams.RENDERER_SERIES_OUTLINE_COLORS) != null) { List list = params.getList(ChartParams.RENDERER_SERIES_OUTLINE_COLORS); for (int i = 0; i < list.size(); i++) { renderer.setSeriesOutlinePaint(i, (Color) list.get(i)); } } if (params.get(ChartParams.RENDERER_SERIES_OUTLINE_STROKES) != null) { List list = params.getList(ChartParams.RENDERER_SERIES_OUTLINE_STROKES); for (int i = 0; i < list.size(); i++) { renderer.setSeriesOutlineStroke(i, (Stroke) list.get(i)); } } if (params.get(ChartParams.RENDERER_SERIES_ITEM_LABEL_VISIBLES) != null) { List list = params.getList(ChartParams.RENDERER_SERIES_ITEM_LABEL_VISIBLES); for (int i = 0; i < list.size(); i++) { renderer.setSeriesItemLabelsVisible(i, (Boolean) list.get(i)); } } if (params.get(ChartParams.RENDERER_SERIES_ITEM_LABEL_COLORS) != null) { List list = params.getList(ChartParams.RENDERER_SERIES_ITEM_LABEL_COLORS); for (int i = 0; i < list.size(); i++) { renderer.setSeriesItemLabelPaint(i, (Color) list.get(i)); } } if (params.get(ChartParams.RENDERER_SERIES_ITEM_LABEL_FONTS) != null) { List list = params.getList(ChartParams.RENDERER_SERIES_ITEM_LABEL_FONTS); for (int i = 0; i < list.size(); i++) { renderer.setSeriesItemLabelFont(i, (Font) list.get(i)); } } }
From source file:com.appnativa.rare.ui.chart.jfreechart.ChartHandler.java
protected void customizeSeriesAttributes(ChartPanel chartPanel, ChartDefinition cd, Plot plot, boolean multiset) { List<RenderableDataItem> rows = cd.getSeries(); ChartInfo ci = (ChartInfo) cd.getChartHandlerInfo(); List<SeriesData> seriesData = ci.seriesData; int len = (seriesData == null) ? 0 : seriesData.size(); if (len == 0) { return;//from w ww. j a va2s . c om } ChartDataItem di; Paint p = null; iPainter painter; BasicStroke stroke = null; BasicStroke ostroke = null; RareBarPainter barPainter = null; AbstractRenderer r; Object o; UIColor c; PlotInformation pi = cd.getPlotInformation(); if (pi != null) { float lt = pi.getLineThickness(); float ot = pi.getOutlineThickness(); if (lt > 1) { stroke = new BasicStroke(lt); } if (ot > 1) { ostroke = (ot == lt) ? stroke : new BasicStroke(ot); } } int n = 0; for (int i = 0; i < len; i++) { SeriesData data = seriesData.get(i); di = (ChartDataItem) rows.get(data.seriesIndex); if ((di == null) || di.isEmpty()) { continue; } p = null; o = ((XYPlot) plot).getRenderer(multiset ? i : 0); if (!(o instanceof AbstractRenderer)) { continue; } UIColor fc = data.fillColor; UIColor oc = data.outlineColor; r = (AbstractRenderer) o; painter = di.getComponentPainter(); if (painter == null) { c = di.getBackground(); if (c instanceof UIColorShade) { painter = ((UIColorShade) c).getBackgroundPainter(); if (painter instanceof UISimpleBackgroundPainter) { p = painter.getBackgroundColor(); painter = null; } } else { p = c; } } if ((painter == null) && (p == null)) { painter = cd.getRangeAxis().getComponentPainter(); if (painter == null) { c = cd.getRangeAxis().getBackground(); if (c instanceof UIColorShade) { painter = ((UIColorShade) c).getBackgroundPainter(); if (painter instanceof UISimpleBackgroundPainter) { p = painter.getBackgroundColor(); painter = null; } } else { p = c; } } } if (painter != null) { if (r instanceof XYBarRenderer) { if (barPainter == null) { barPainter = new RareBarPainter(chartPanel); } XYBarRenderer xr = (XYBarRenderer) r; xr.setBarPainter(barPainter); p = ChartHelper.getPaint(painter); } else if (r instanceof BarRenderer) { if (barPainter == null) { barPainter = new RareBarPainter(chartPanel); } BarRenderer xr = (BarRenderer) r; xr.setItemMargin(0); xr.setBarPainter(barPainter); p = ChartHelper.getPaint(painter); } else { iPlatformPaint pp = painter.getPaint(50, 50); p = (pp == null) ? null : pp.getPaint(); } } if (p == null) { p = di.getBackground(); } if (p == null) { p = getDefaultColor(i); } n = multiset ? 0 : i; r.setSeriesPaint(n, p); if (r instanceof XYAreaSplineRendererEx) { r.setSeriesFillPaint(n, p); } float lt = getSeriesLineThickness(di, -1); if (lt != -1) { r.setSeriesStroke(n, new BasicStroke(lt)); } else if (stroke != null) { r.setSeriesStroke(n, stroke); } lt = getSeriesOutlineLineThickness(di, -1); if (lt != -1) { r.setSeriesOutlineStroke(n, ostroke); } else if (ostroke != null) { r.setSeriesOutlineStroke(n, ostroke); } if (r instanceof XYLineAndShapeRenderer) { ShapeStyle ss = getSeriesShapeStyle(pi, di); XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r; switch (ss) { case FILLED: renderer.setBaseShapesVisible(true); renderer.setBaseShapesFilled(true); renderer.setUseFillPaint(true); renderer.setSeriesFillPaint(n, (fc == null) ? p : fc.getPaint()); break; case OUTLINED: renderer.setBaseShapesVisible(true); renderer.setUseOutlinePaint(true); renderer.setDrawOutlines(true); renderer.setSeriesOutlinePaint(n, (oc == null) ? p : oc.getPaint()); break; case FILLED_AND_OUTLINED: renderer.setSeriesOutlinePaint(n, (oc == null) ? p : oc.getPaint()); renderer.setSeriesFillPaint(n, (fc == null) ? UIColor.WHITE.getPaint() : fc.getPaint()); renderer.setBaseShapesVisible(true); renderer.setDrawOutlines(true); renderer.setBaseShapesFilled(true); renderer.setUseFillPaint(true); renderer.setUseOutlinePaint(true); break; default: renderer.setBaseShapesVisible(false); break; } if (renderer.getBaseShapesVisible()) { renderer.setSeriesShape(n, getDefaultShape(i)); } } } }
From source file:org.orbeon.oxf.processor.serializer.legacy.JFreeChartSerializer.java
protected JFreeChart drawChart(ChartConfig chartConfig, final Dataset ds) { JFreeChart chart = null;// w ww .ja v a2 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; }