List of usage examples for org.jfree.chart LegendItem LegendItem
public LegendItem(String label, Paint paint)
From source file:net.sf.dynamicreports.design.transformation.chartcustomizer.SeriesColorsByNameCustomizer.java
@Override public void customize(JFreeChart chart, ReportParameters reportParameters) { if (chart.getPlot() instanceof CategoryPlot) { CategoryItemRenderer renderer = chart.getCategoryPlot().getRenderer(); CategoryDataset dataset = chart.getCategoryPlot().getDataset(); Set<String> legend = new LinkedHashSet<String>(); if (dataset != null) { for (int i = 0; i < dataset.getRowCount(); i++) { String key = (String) dataset.getRowKey(i); if (renderer instanceof GroupedStackedBarRenderer) { key = StringUtils.substringAfter(key, GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY); legend.add(key);/*from www .j a v a 2s . co m*/ } renderer.setSeriesPaint(i, seriesColorsByName.get(key)); } } if (!legend.isEmpty()) { LegendItemCollection legendItems = new LegendItemCollection(); for (String item : legend) { legendItems.add(new LegendItem(item, seriesColorsByName.get(item))); } chart.getCategoryPlot().setFixedLegendItems(legendItems); } } else if (chart.getPlot() instanceof PiePlot) { PiePlot plot = (PiePlot) chart.getPlot(); PieDataset dataset = plot.getDataset(); for (int i = 0; i < dataset.getItemCount(); i++) { String key = (String) dataset.getKey(i); plot.setSectionPaint(key, seriesColorsByName.get(key)); } } else if (chart.getPlot() instanceof XYPlot) { XYItemRenderer renderer = chart.getXYPlot().getRenderer(); XYDataset dataset = chart.getXYPlot().getDataset(); for (int i = 0; i < dataset.getSeriesCount(); i++) { String key = (String) dataset.getSeriesKey(i); renderer.setSeriesPaint(i, seriesColorsByName.get(key)); } } }
From source file:net.sf.dynamicreports.design.transformation.chartcustomizer.XyBlockRendererCustomizer.java
@Override public void customize(JFreeChart chart, ReportParameters reportParameters) { chart.getXYPlot().getDomainAxis().setUpperMargin(0); chart.getXYPlot().getRangeAxis().setUpperMargin(0); XYBlockRenderer renderer = new XYBlockRenderer(); if (xyBlockPlot.getBlockWidth() != null) { renderer.setBlockWidth(xyBlockPlot.getBlockWidth()); }/*from ww w.j a va 2 s . c om*/ if (xyBlockPlot.getBlockHeight() != null) { renderer.setBlockHeight(xyBlockPlot.getBlockHeight()); } if (xyBlockPlot.getBlockAnchor() != null) { renderer.setBlockAnchor(ConstantTransform.rectangleAnchor(xyBlockPlot.getBlockAnchor())); } LookupPaintScale paintScale = new LookupPaintScale(xyBlockPlot.getDefaultLowerBound(), xyBlockPlot.getDefaultUpperBound(), xyBlockPlot.getDefaultPaint()); for (DRIPaintScale scale : xyBlockPlot.getPaintScales()) { paintScale.add(scale.getValue(), scale.getPaint()); } renderer.setPaintScale(paintScale); chart.getXYPlot().setRenderer(renderer); LegendItemCollection legendItems = new LegendItemCollection(); for (DRIPaintScale scale : xyBlockPlot.getPaintScales()) { legendItems.add(new LegendItem(scale.getLabel(), scale.getPaint())); } chart.getXYPlot().setFixedLegendItems(legendItems); }
From source file:jamel.gui.charts.JamelChart.java
/** * Adds a line item to the legend of the chart. * @param label the label of the item.//from w w w.j a v a 2 s . c o m * @param color the color of the item. */ public void addLegendItem(String label, Color color) { final LegendItemCollection gbcdg = getFixedLegendItems(); gbcdg.add(new LegendItem(label, color)); }
From source file:net.sf.dynamicreports.design.transformation.chartcustomizer.GroupedStackedBarRendererCustomizer.java
@Override public void customize(JFreeChart chart, ReportParameters reportParameters) { this.seriesColors = new LinkedHashMap<String, Paint>(); this.map = null; Set<String> groups = new LinkedHashSet<String>(); CategoryDataset dataset = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset.getRowCount(); i++) { String rowKey = (String) dataset.getRowKey(i); String group = StringUtils.substringBefore(rowKey, GROUP_SERIES_KEY); String series = StringUtils.substringAfter(rowKey, GROUP_SERIES_KEY); if (map == null) { map = new KeyToGroupMap(group); }//www . j a v a 2 s. c o m map.mapKeyToGroup(rowKey, group); groups.add(group); if (!seriesColors.containsKey(series)) { Paint paint = chart.getCategoryPlot().getDrawingSupplier().getNextPaint(); seriesColors.put(series, paint); } } DefaultCategoryDataset newDataset = new DefaultCategoryDataset(); for (Object column : dataset.getColumnKeys()) { for (String group : groups) { for (String series : seriesColors.keySet()) { try { Number value = dataset.getValue(group + GROUP_SERIES_KEY + series, (Comparable<?>) column); newDataset.addValue(value, group + GROUP_SERIES_KEY + series, (Comparable<?>) column); } catch (UnknownKeyException e) { newDataset.addValue(0, group + GROUP_SERIES_KEY + series, (Comparable<?>) column); } } } } dataset = newDataset; GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer(); renderer.setSeriesToGroupMap(map); StackedBarRenderer categoryRenderer = (StackedBarRenderer) chart.getCategoryPlot().getRenderer(); renderer.setBaseItemLabelsVisible(categoryRenderer.getBaseItemLabelsVisible()); renderer.setBaseItemLabelFont(categoryRenderer.getBaseItemLabelFont()); renderer.setBaseItemLabelPaint(categoryRenderer.getBaseItemLabelPaint()); renderer.setBaseItemLabelGenerator(categoryRenderer.getBaseItemLabelGenerator()); renderer.setShadowVisible(categoryRenderer.getShadowsVisible()); renderer.setItemMargin(0.10); renderer.setDrawBarOutline(false); for (int i = 0; i < dataset.getRowCount(); i++) { String rowKey = (String) dataset.getRowKey(i); String score = StringUtils.substringAfter(rowKey, GROUP_SERIES_KEY); renderer.setSeriesPaint(i, seriesColors.get(score)); } CategoryAxis domainAxis = chart.getCategoryPlot().getDomainAxis(); SubCategoryAxis newDomainAxis = new SubCategoryAxis(domainAxis.getLabel()); newDomainAxis.setLabelFont(domainAxis.getLabelFont()); newDomainAxis.setTickLabelFont(domainAxis.getTickLabelFont()); newDomainAxis.setLabelPaint(domainAxis.getLabelPaint()); newDomainAxis.setTickLabelPaint(domainAxis.getTickLabelPaint()); newDomainAxis.setAxisLinePaint(domainAxis.getAxisLinePaint()); newDomainAxis.setTickMarkPaint(domainAxis.getTickMarkPaint()); newDomainAxis.setTickLabelsVisible(domainAxis.isTickLabelsVisible()); newDomainAxis.setTickMarksVisible(domainAxis.isTickMarksVisible()); newDomainAxis.setCategoryMargin(0.05); for (String group : groups) { newDomainAxis.addSubCategory(group); } CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setDomainAxis(newDomainAxis); plot.setRenderer(renderer); LegendItemCollection legendItems = new LegendItemCollection(); for (String item : seriesColors.keySet()) { legendItems.add(new LegendItem(item, seriesColors.get(item))); } plot.setFixedLegendItems(legendItems); chart.getCategoryPlot().setDataset(dataset); }
From source file:org.altaprise.vawr.charts.demos.StackedBarChartDemo4.java
/** * Creates the legend items for the chart. In this case, we set them manually because we * only want legend items for a subset of the data series. * //from w w w .j ava2s. co m * @return The legend items. */ private LegendItemCollection createLegendItems() { LegendItemCollection result = new LegendItemCollection(); LegendItem item1 = new LegendItem("US", new Color(0x22, 0x22, 0xFF)); LegendItem item2 = new LegendItem("Europe", new Color(0x22, 0xFF, 0x22)); LegendItem item3 = new LegendItem("Asia", new Color(0xFF, 0x22, 0x22)); LegendItem item4 = new LegendItem("Middle East", new Color(0xFF, 0xFF, 0x22)); result.add(item1); result.add(item2); result.add(item3); result.add(item4); return result; }
From source file:org.psystems.dicom.browser.server.stat.StatClientRequestsChartServlet2.java
private LegendItemCollection createLegendItems() { LegendItemCollection result = new LegendItemCollection(); LegendItem item1 = new LegendItem("", color1); LegendItem item2 = new LegendItem("", color2); result.add(item1);/* www. ja v a 2s .c om*/ result.add(item2); return result; }
From source file:org.psystems.dicom.browser.server.stat.StatDailyLoadChartServlet2.java
private LegendItemCollection createLegendItems() { LegendItemCollection result = new LegendItemCollection(); LegendItem item1 = new LegendItem("DCM ", color1); LegendItem item2 = new LegendItem("JPG ", color2); result.add(item1);/*w ww . j av a2s . c om*/ result.add(item2); return result; }
From source file:com.graphhopper.jsprit.analysis.toolbox.Plotter.java
private LegendTitle createLegend(final Collection<VehicleRoute> routes, final XYSeriesCollection shipments, final XYPlot plot) { LegendItemSource lis = new LegendItemSource() { @Override//from www . ja va 2 s.c om public LegendItemCollection getLegendItems() { LegendItemCollection lic = new LegendItemCollection(); LegendItem vehLoc = new LegendItem("vehLoc", Color.RED); vehLoc.setShape(ELLIPSE); vehLoc.setShapeVisible(true); lic.add(vehLoc); if (containsServiceAct) { LegendItem item = new LegendItem("service", Color.BLUE); item.setShape(ELLIPSE); item.setShapeVisible(true); lic.add(item); } if (containsPickupAct) { LegendItem item = new LegendItem("pickup", Color.GREEN); item.setShape(ELLIPSE); item.setShapeVisible(true); lic.add(item); } if (containsDeliveryAct) { LegendItem item = new LegendItem("delivery", Color.BLUE); item.setShape(ELLIPSE); item.setShapeVisible(true); lic.add(item); } if (routes != null) { LegendItem item = new LegendItem("firstActivity", Color.BLACK); Shape upTriangle = ShapeUtilities.createUpTriangle(3.0f); item.setShape(upTriangle); item.setOutlinePaint(Color.BLACK); item.setLine(upTriangle); item.setLinePaint(Color.BLACK); item.setShapeVisible(true); lic.add(item); } if (!shipments.getSeries().isEmpty()) { lic.add(plot.getRenderer(1).getLegendItem(1, 0)); } if (routes != null) { lic.addAll(plot.getRenderer(2).getLegendItems()); } return lic; } }; LegendTitle legend = new LegendTitle(lis); legend.setPosition(RectangleEdge.BOTTOM); return legend; }
From source file:jspritTest.util.Plotter.java
private LegendTitle createLegend(final Collection<VehicleRoute> routes, final XYSeriesCollection shipments, final XYPlot plot) { LegendItemSource lis = new LegendItemSource() { public LegendItemCollection getLegendItems() { LegendItemCollection lic = new LegendItemCollection(); LegendItem vehLoc = new LegendItem("vehLoc", Color.RED); vehLoc.setShape(ELLIPSE);// w w w .ja va 2 s . c om vehLoc.setShapeVisible(true); lic.add(vehLoc); if (containsServiceAct) { LegendItem item = new LegendItem("service", Color.BLUE); item.setShape(ELLIPSE); item.setShapeVisible(true); lic.add(item); } if (containsPickupAct) { LegendItem item = new LegendItem("pickup", Color.GREEN); item.setShape(ELLIPSE); item.setShapeVisible(true); lic.add(item); } if (containsDeliveryAct) { LegendItem item = new LegendItem("delivery", Color.BLUE); item.setShape(ELLIPSE); item.setShapeVisible(true); lic.add(item); } if (routes != null) { LegendItem item = new LegendItem("firstActivity", Color.BLACK); Shape upTriangle = ShapeUtilities.createUpTriangle(3.0f); item.setShape(upTriangle); item.setOutlinePaint(Color.BLACK); item.setLine(upTriangle); item.setLinePaint(Color.BLACK); item.setShapeVisible(true); lic.add(item); } if (!shipments.getSeries().isEmpty()) { lic.add(plot.getRenderer(1).getLegendItem(1, 0)); } if (routes != null) { lic.addAll(plot.getRenderer(2).getLegendItems()); } return lic; } }; LegendTitle legend = new LegendTitle(lis); legend.setPosition(RectangleEdge.BOTTOM); return legend; }
From source file:RDGraphGenerator.java
/** * Creates the legend items for the chart. In this case, we set them manually because we * only want legend items for a subset of the data series. * * @return The legend items.// w w w .j a v a 2s . co m */ private LegendItemCollection createLegendItems() { LegendItemCollection result = new LegendItemCollection(); LegendItem item1 = new LegendItem(type0, new Color(0x22, 0x22, 0xFF)); LegendItem item2 = new LegendItem(type1, new Color(0x22, 0xFF, 0x22)); LegendItem item3 = new LegendItem(type2, new Color(0xFF, 0x22, 0x22)); LegendItem item4 = new LegendItem(type3, new Color(0xFF, 0xFF, 0x22)); result.add(item1); result.add(item2); result.add(item3); result.add(item4); return result; }