List of usage examples for org.jfree.chart LegendItemCollection add
public void add(LegendItem item)
From source file:org.jfree.chart.demo.ThumbnailDemo1.java
private static JFreeChart createChart3(CategoryDataset categorydataset) { JFreeChart jfreechart = ChartFactory.createStackedBarChart("Public Opinion : Torture of Prisoners", "Country", "%", categorydataset, PlotOrientation.HORIZONTAL, false, true, false); jfreechart.getTitle().setMargin(2D, 0.0D, 0.0D, 0.0D); TextTitle texttitle = new TextTitle("Source: http://news.bbc.co.uk/1/hi/world/6063386.stm", new Font("Dialog", 0, 11)); texttitle.setPosition(RectangleEdge.BOTTOM); texttitle.setHorizontalAlignment(HorizontalAlignment.RIGHT); texttitle.setMargin(0.0D, 0.0D, 4D, 4D); jfreechart.addSubtitle(texttitle);/*from www.j a va2 s . c o m*/ TextTitle texttitle1 = new TextTitle("(*) Across 27,000 respondents in 25 countries", new Font("Dialog", 0, 11)); texttitle1.setPosition(RectangleEdge.BOTTOM); texttitle1.setHorizontalAlignment(HorizontalAlignment.RIGHT); texttitle1.setMargin(4D, 0.0D, 2D, 4D); jfreechart.addSubtitle(texttitle1); CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot(); LegendItemCollection legenditemcollection = new LegendItemCollection(); legenditemcollection.add(new LegendItem("Against all torture", null, null, null, new java.awt.geom.Rectangle2D.Double(-6D, -3D, 12D, 6D), Color.green)); legenditemcollection.add(new LegendItem("Some degree permissible", null, null, null, new java.awt.geom.Rectangle2D.Double(-6D, -3D, 12D, 6D), Color.red)); categoryplot.setFixedLegendItems(legenditemcollection); categoryplot.setInsets(new RectangleInsets(5D, 5D, 5D, 20D)); LegendTitle legendtitle = new LegendTitle(categoryplot); legendtitle.setPosition(RectangleEdge.BOTTOM); jfreechart.addSubtitle(legendtitle); categoryplot.setBackgroundPaint(Color.lightGray); categoryplot.setDomainGridlinePaint(Color.white); categoryplot.setDomainGridlinesVisible(true); categoryplot.setRangeGridlinePaint(Color.white); NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis(); numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); numberaxis.setUpperMargin(0.0D); BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer(); barrenderer.setDrawBarOutline(false); GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.green, 0.0F, 0.0F, new Color(0, 64, 0)); Color color = new Color(0, 0, 0, 0); GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, Color.red, 0.0F, 0.0F, new Color(64, 0, 0)); barrenderer.setSeriesPaint(0, gradientpaint); barrenderer.setSeriesPaint(1, color); barrenderer.setSeriesPaint(2, gradientpaint1); return jfreechart; }
From source file:org.jfree.chart.demo.DualAxisDemo6.java
private static JFreeChart createChart(CategoryDataset categorydataset, CategoryDataset categorydataset1) { CategoryAxis categoryaxis = new CategoryAxis("Category"); NumberAxis numberaxis = new NumberAxis("Value"); GroupedStackedBarRenderer groupedstackedbarrenderer = new GroupedStackedBarRenderer(); KeyToGroupMap keytogroupmap = new KeyToGroupMap("G1"); keytogroupmap.mapKeyToGroup("Series 1A", "G1"); keytogroupmap.mapKeyToGroup("Series 1B", "G1"); keytogroupmap.mapKeyToGroup("NOTHING", "G2"); groupedstackedbarrenderer.setSeriesToGroupMap(keytogroupmap); CategoryPlot categoryplot = new CategoryPlot(categorydataset, categoryaxis, numberaxis, groupedstackedbarrenderer) { private static final long serialVersionUID = 1L; public LegendItemCollection getLegendItems() { LegendItemCollection legenditemcollection = new LegendItemCollection(); legenditemcollection.addAll(getRenderer().getLegendItems()); CategoryDataset categorydataset2 = getDataset(1); if (categorydataset2 != null) { CategoryItemRenderer categoryitemrenderer = getRenderer(1); if (categoryitemrenderer != null) { org.jfree.chart.LegendItem legenditem = categoryitemrenderer.getLegendItem(1, 1); legenditemcollection.add(legenditem); }//from w ww .j a v a2 s. co m } return legenditemcollection; } }; JFreeChart jfreechart = new JFreeChart("Dual Axis Bar Chart", categoryplot); categoryplot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT); categoryplot.setDataset(1, categorydataset1); categoryplot.mapDatasetToRangeAxis(1, 1); NumberAxis numberaxis1 = new NumberAxis("Secondary"); categoryplot.setRangeAxis(1, numberaxis1); categoryplot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT); BarRenderer barrenderer = new BarRenderer(); categoryplot.setRenderer(1, barrenderer); ChartUtilities.applyCurrentTheme(jfreechart); return jfreechart; }
From source file:com.hmsinc.epicenter.webapp.chart.ChartService.java
/** * @param chart/* w w w. j a va 2 s .c o m*/ * @return */ private static void configureTitleAndLegend(final JFreeChart chart, final AbstractChart adapter) { final TextTitle title = chart.getTitle(); if (title != null) { title.setFont(new Font("Arial", Font.BOLD, 12)); // title.setBackgroundPaint(Color.CYAN); title.setTextAlignment(HorizontalAlignment.LEFT); title.setHorizontalAlignment(HorizontalAlignment.CENTER); title.setMargin(0, 4, 5, 6); } if (chart.getLegend() != null) { chart.removeLegend(); final LegendTitle legend = new LegendTitle(chart.getPlot(), new SNColumnArrangement(0, 0), new ColumnArrangement(HorizontalAlignment.CENTER, VerticalAlignment.CENTER, 0, 0)); legend.setItemFont(LEGEND_FONT); legend.setPosition(RectangleEdge.BOTTOM); legend.setHorizontalAlignment(HorizontalAlignment.CENTER); legend.setBackgroundPaint(Color.WHITE); legend.setFrame(new LineBorder()); legend.setMargin(0, 4, 5, 6); chart.addLegend(legend); // Now we'll try to remove any duplicate items from the legend.. final Map<String, Integer> keys = new HashMap<String, Integer>(); final LegendItemCollection items = new LegendItemCollection(); for (LegendItemSource source : legend.getSources()) { for (int i = 0; i < source.getLegendItems().getItemCount(); i++) { final LegendItem item = source.getLegendItems().get(i); if (!keys.containsKey(item.getLabel())) { keys.put(item.getLabel(), i); items.add(item); } } } legend.setSources(new LegendItemSource[] { new LegendItemSource() { /* * (non-Javadoc) * * @see org.jfree.chart.LegendItemSource#getLegendItems() */ public LegendItemCollection getLegendItems() { return items; } } }); } }
From source file:edu.ucla.stat.SOCR.chart.demo.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./* w w w . j a va2 s.co m*/ * * @return The legend items. */ private static LegendItemCollection createLegendItems() { LegendItemCollection result = new LegendItemCollection(); LegendItem item1 = new LegendItem("US", "-", null, null, Plot.DEFAULT_LEGEND_ITEM_BOX, new Color(0x22, 0x22, 0xFF)); LegendItem item2 = new LegendItem("Europe", "-", null, null, Plot.DEFAULT_LEGEND_ITEM_BOX, new Color(0x22, 0xFF, 0x22)); LegendItem item3 = new LegendItem("Asia", "-", null, null, Plot.DEFAULT_LEGEND_ITEM_BOX, new Color(0xFF, 0x22, 0x22)); LegendItem item4 = new LegendItem("Middle East", "-", null, null, Plot.DEFAULT_LEGEND_ITEM_BOX, new Color(0xFF, 0xFF, 0x22)); result.add(item1); result.add(item2); result.add(item3); result.add(item4); return result; }
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 ww w. j av a 2s. 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:jamel.gui.charts.JamelChart.java
/** * Adds a line item to the legend of the chart. * @param label the label of the item./* www.j a va2s .c om*/ * @param color the color of the item. */ public void addLineLegendItem(String label, Color color) { final LegendItemCollection gbcdg = getFixedLegendItems(); gbcdg.add(new LegendItem(label, null, null, null, line, basicStroke, color)); }
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()); }//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: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 w w w. j av a2s. c om*/ } 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:Visuals.BarChart.java
public ChartPanel drawBarChart() { DefaultCategoryDataset bardataset = new DefaultCategoryDataset(); bardataset.addValue(new Double(low), "Low (" + low + ")", lowValue); bardataset.addValue(new Double(medium), "Medium (" + medium + ")", mediumValue); bardataset.addValue(new Double(high), "High (" + high + ")", highValue); bardataset.addValue(new Double(critical), "Critical (" + critical + ")", criticalValue); JFreeChart barchart = ChartFactory.createBarChart(title, // Title riskCategory, riskCountTitle, bardataset // Dataset );/* ww w . ja va 2s . c o m*/ final CategoryPlot plot = barchart.getCategoryPlot(); CategoryItemRenderer renderer = new CustomRenderer(); NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); renderer.setBaseItemLabelGenerator( new StandardCategoryItemLabelGenerator(riskCountTitle, NumberFormat.getInstance())); DecimalFormat df = new DecimalFormat("##"); renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", df)); Font m1Font; m1Font = new Font("Cambria", Font.BOLD, 16); renderer.setItemLabelFont(m1Font); renderer.setItemLabelPaint(null); //barchart.removeLegend(); plot.setRenderer(renderer); //renderer.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE5, TextAnchor.CENTER)); //renderer.setItemLabelsVisible(true); barchart.getCategoryPlot().setRenderer(renderer); LegendItemCollection chartLegend = new LegendItemCollection(); Shape shape = new Rectangle(10, 10); chartLegend.add(new LegendItem("Low (" + low + ")", null, null, null, shape, new Color(230, 219, 27))); chartLegend .add(new LegendItem("Medium (" + medium + ")", null, null, null, shape, new Color(85, 144, 176))); chartLegend.add(new LegendItem("High (" + high + ")", null, null, null, shape, new Color(230, 90, 27))); chartLegend.add( new LegendItem("Critical (" + critical + ")", null, null, null, shape, new Color(230, 27, 27))); plot.setFixedLegendItems(chartLegend); plot.setBackgroundPaint(new Color(210, 234, 243)); ChartPanel chartPanel = new ChartPanel(barchart); return chartPanel; }
From source file:daylightchart.daylightchart.chart.DaylightChartLegendItemSource.java
/** * {@inheritDoc}//from www .ja va 2 s.c o m * * @see org.jfree.chart.LegendItemSource#getLegendItems() */ @Override public LegendItemCollection getLegendItems() { final LegendItemCollection legendItemCollection = new LegendItemCollection(); final Paint configuredNightColor = options.getChartOptions().getPlotOptions().getBackgroundPaint(); legendItemCollection.add(createLegendItem(resolveLegendLabel(null), configuredNightColor, false)); for (final DaylightBandType daylightSavingsMode : DaylightBandType.values()) { if (daylightSavingsMode == DaylightBandType.twilight && options.getTwilightType() == TwilightType.NO) { continue; } legendItemCollection.add(getLegendItem(daylightSavingsMode)); } return legendItemCollection; }