List of usage examples for org.jfree.chart.title LegendTitle draw
@Override public void draw(Graphics2D g2, Rectangle2D area)
From source file:org.jfree.chart.demo.LegendTitleToImageDemo1.java
public static void main(String args[]) throws IOException { DefaultPieDataset defaultpiedataset = new DefaultPieDataset(); defaultpiedataset.setValue("A", 1.0D); defaultpiedataset.setValue("B", 2D); defaultpiedataset.setValue("C", 3D); JFreeChart jfreechart = ChartFactory.createPieChart("Test", defaultpiedataset, true, false, false); LegendTitle legendtitle = jfreechart.getLegend(); legendtitle.setMargin(0.0D, 0.0D, 1.0D, 1.0D); BufferedImage bufferedimage = new BufferedImage(1, 1, 2); Graphics2D graphics2d = bufferedimage.createGraphics(); Size2D size2d = legendtitle.arrange(graphics2d); graphics2d.dispose();/* w w w.j ava 2 s . c o m*/ int i = (int) Math.rint(size2d.width); int j = (int) Math.rint(size2d.height); BufferedImage bufferedimage1 = new BufferedImage(i, j, 2); Graphics2D graphics2d1 = bufferedimage1.createGraphics(); legendtitle.draw(graphics2d1, new java.awt.geom.Rectangle2D.Double(0.0D, 0.0D, i, j)); graphics2d1.dispose(); BufferedOutputStream bufferedoutputstream = new BufferedOutputStream( new FileOutputStream(new File("LegendTitleToImageDemo1.png"))); ChartUtilities.writeBufferedImageAsPNG(bufferedoutputstream, bufferedimage1); bufferedoutputstream.close(); }
From source file:org.jfree.chart.demo.LegendTitleToImageDemo2.java
public static void main(String args[]) throws IOException { DefaultPieDataset defaultpiedataset = new DefaultPieDataset(); defaultpiedataset.setValue("England", 1.0D); defaultpiedataset.setValue("France", 2D); defaultpiedataset.setValue("Germany", 3D); defaultpiedataset.setValue("Italy", 4D); defaultpiedataset.setValue("Scotland", 5D); defaultpiedataset.setValue("Belgium", 6D); defaultpiedataset.setValue("Poland", 7D); defaultpiedataset.setValue("Spain", 8D); defaultpiedataset.setValue("Portugal", 9D); defaultpiedataset.setValue("Switzerland", 10D); defaultpiedataset.setValue("Austria", 11D); defaultpiedataset.setValue("Luxembourg", 12D); JFreeChart jfreechart = ChartFactory.createPieChart("Test", defaultpiedataset, true, false, false); LegendTitle legendtitle = jfreechart.getLegend(); legendtitle.setMargin(0.0D, 0.0D, 1.0D, 1.0D); BufferedImage bufferedimage = new BufferedImage(1, 1, 2); Graphics2D graphics2d = bufferedimage.createGraphics(); Size2D size2d = legendtitle.arrange(graphics2d, new RectangleConstraint(250D, new Range(0.0D, 10000D))); graphics2d.dispose();/*from ww w.j a v a2 s .c om*/ int i = (int) Math.rint(size2d.width); int j = (int) Math.rint(size2d.height); BufferedImage bufferedimage1 = new BufferedImage(i, j, 2); Graphics2D graphics2d1 = bufferedimage1.createGraphics(); legendtitle.draw(graphics2d1, new java.awt.geom.Rectangle2D.Double(0.0D, 0.0D, i, j)); graphics2d1.dispose(); BufferedOutputStream bufferedoutputstream = new BufferedOutputStream( new FileOutputStream(new File("LegendTitleToImageDemo2.png"))); ChartUtilities.writeBufferedImageAsPNG(bufferedoutputstream, bufferedimage1); bufferedoutputstream.close(); }
From source file:jmbench.plots.UtilPlotPdf.java
public static void saveAsPdf(LegendTitle legend, String FILENAME, int width, int height) { Document document = new Document(new Rectangle(width, height)); try {/*ww w . j a va2s . co m*/ FileOutputStream file = new FileOutputStream(FILENAME); PdfWriter writer = PdfWriter.getInstance(document, file); document.open(); PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(width, height); Graphics2D g2d = tp.createGraphics(width, height, new DefaultFontMapper()); Rectangle2D r2d = new Rectangle2D.Double(0, 0, width, height); legend.draw(g2d, r2d); g2d.dispose(); cb.addTemplate(tp, 0, 0); document.close(); g2d.dispose(); } catch (Exception e) { e.printStackTrace(); } }
From source file:de.laures.cewolf.util.Renderer.java
/** * Renders a legend/* w ww .j a v a 2 s. c om*/ * @param cd the chart iamge to be rendred * @return the rendered image * @throws CewolfException */ private static RenderedImage renderLegend(ChartImage cd, Object c) throws CewolfException { try { JFreeChart chart = (JFreeChart) c; final int width = cd.getWidth(); final int height = cd.getHeight(); LegendTitle legend = getLegend(chart); boolean haslegend = true; // with JFreeChart v0.9.20, the only way to get a valid legend, // is either to retrieve it from the chart or to assign a new // one to the chart. In the case where the chart has no legend, // a new one must be assigned, but just for rendering. After, we // have to reset the legend to null in the chart. if (null == legend) { haslegend = false; legend = new LegendTitle(chart.getPlot()); } legend.setPosition(RectangleEdge.BOTTOM); BufferedImage bimage = ImageHelper.createImage(width, height); Graphics2D g = bimage.createGraphics(); g.setColor(Color.white); g.fillRect(0, 0, width, height); legend.arrange(g, new RectangleConstraint(width, height)); legend.draw(g, new Rectangle(width, height)); ByteArrayOutputStream out = new ByteArrayOutputStream(); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage); param.setQuality(1.0f, true); encoder.encode(bimage, param); out.close(); // if the chart had no legend, reset it to null in order to give back the // chart in the state we received it. if (!haslegend) { removeLegend(chart); } return new RenderedImage(out.toByteArray(), "image/jpeg", new ChartRenderingInfo(new StandardEntityCollection())); } catch (IOException ioex) { log.error(ioex); throw new ChartRenderingException(ioex.getMessage(), ioex); } }
From source file:org.n52.oxf.render.sos.TimeSeriesChartRenderer4xPhenomenons.java
/** * The resulting IVisualization shows a chart which consists a TimeSeries for each FeatureOfInterest * contained in the observationCollection. *//* ww w . j a v a2 s .c o m*/ public IVisualization renderChart(OXFFeatureCollection observationCollection, ParameterContainer paramCon, int width, int height) { JFreeChart chart = renderChart(observationCollection, paramCon); // draw plot into image: Plot plot = chart.getPlot(); BufferedImage chartImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D chartGraphics = chartImage.createGraphics(); chartGraphics.setColor(Color.white); chartGraphics.fillRect(0, 0, width, height); plot.draw(chartGraphics, new Rectangle2D.Float(0, 0, width, height), null, null, null); // draw legend into image: LegendTitle legend = chart.getLegend(); BufferedImage legendImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D legendGraphics = legendImage.createGraphics(); legendGraphics.setColor(Color.white); legendGraphics.fillRect(0, 0, (int) legend.getWidth(), (int) legend.getHeight()); legend.draw(legendGraphics, new Rectangle2D.Float(0, 0, width, height)); return new StaticVisualization(chartImage, legendImage); }
From source file:edu.cudenver.bios.chartsvc.representation.LegendImageRepresentation.java
/** * Called internally by Restlet library to write the image as the HTTP * response.//from w w w.ja va 2s . c om * @param out output stream */ @Override public void write(OutputStream out) throws IOException { // build the legend from the plot, and write it to a jpeg image if (plot != null) { LegendTitle legend = new LegendTitle(plot, new ColumnArrangement(), new ColumnArrangement()); legend.setFrame(BlockBorder.NONE); //legend.setMargin(new RectangleInsets(2.0, 2.0, 2.0, 2.0)); legend.setBackgroundPaint(Color.white); legend.setPosition(RectangleEdge.BOTTOM); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g = image.createGraphics(); Rectangle2D.Double legendArea = new Rectangle2D.Double(0, 0, width, height); g.clip(legendArea); legend.arrange(g, new RectangleConstraint(width, height)); legend.draw(g, legendArea); g.dispose(); EncoderUtil.writeBufferedImage(image, ImageFormat.JPEG, out); } }
From source file:org.gumtree.vis.plot1d.Plot1DPanel.java
private void drawInternalLegend(Graphics2D g2) { // XYDataset dataset = getXYPlot().getDataset(); // int numSeries = dataset.getSeriesCount(); Rectangle2D screenArea = getScreenDataArea(); Rectangle2D lengendArea = new Rectangle2D.Double(screenArea.getMaxX() - internalLegendSetup.getMinX(), screenArea.getMinY() + internalLegendSetup.getMinY(), internalLegendSetup.getWidth(), internalLegendSetup.getHeight()); LegendTitle legend = new LegendTitle(getXYPlot()); RectangleConstraint rc = new RectangleConstraint(new Range(0, internalLegendSetup.getWidth()), new Range(0, internalLegendSetup.getHeight())); Size2D size = legend.arrange(g2, rc); getXYPlot().getLegendItems();/*w w w. j ava 2s . c om*/ legend.draw(g2, lengendArea); Rectangle2D titleRect = new Rectangle2D.Double(lengendArea.getMinX(), lengendArea.getMinY(), size.width, size.height); internalLegendSetup.setRect(internalLegendSetup.getX(), internalLegendSetup.getY(), titleRect.getWidth(), titleRect.getHeight()); if (isInternalLegendSelected) { ChartMaskingUtilities.drawMaskBoarder(g2, titleRect); } else { g2.setColor(Color.GRAY); g2.draw(titleRect); } }