List of usage examples for org.jfree.chart.plot PiePlot setBackgroundPaint
public void setBackgroundPaint(Paint paint)
From source file:edu.gmu.cs.sim.util.media.chart.PieChartGenerator.java
protected void buildChart() { DefaultCategoryDataset dataset = new DefaultCategoryDataset(); chart = ChartFactory.createMultiplePieChart("Untitled Chart", dataset, org.jfree.util.TableOrder.BY_COLUMN, false, true, false);/*from ww w.j a v a 2s . co m*/ chart.setAntiAlias(true); //chartPanel = new ScrollableChartPanel(chart, true); chartPanel = buildChartPanel(chart); //chartHolder.getViewport().setView(chartPanel); setChartPanel(chartPanel); JFreeChart baseChart = (JFreeChart) ((MultiplePiePlot) (chart.getPlot())).getPieChart(); PiePlot base = (PiePlot) (baseChart.getPlot()); base.setIgnoreZeroValues(true); base.setLabelOutlinePaint(java.awt.Color.WHITE); base.setLabelShadowPaint(java.awt.Color.WHITE); base.setMaximumLabelWidth(0.25); // allow bigger labels by a bit (this will make the chart smaller) base.setInteriorGap(0.000); // allow stretch to compensate for the bigger label width base.setLabelBackgroundPaint(java.awt.Color.WHITE); base.setOutlinePaint(null); base.setBackgroundPaint(null); base.setShadowPaint(null); base.setSimpleLabels(false); // I think they're false anyway // change the look of the series title to be smaller StandardChartTheme theme = new StandardChartTheme("Hi"); TextTitle title = new TextTitle("Whatever", theme.getLargeFont()); title.setPaint(theme.getAxisLabelPaint()); title.setPosition(RectangleEdge.BOTTOM); baseChart.setTitle(title); // this must come last because the chart must exist for us to set its dataset setSeriesDataset(dataset); }
From source file:Visuals.PieChart.java
public ChartPanel drawPieChart() { DefaultPieDataset piedataset = new DefaultPieDataset(); if (riskCount == 0) { title = ""; piedataset.setValue(noVulnerabilities, new Integer(1)); } else {// www . java2 s . c o m piedataset.setValue(lowValue, new Integer(low)); piedataset.setValue(mediumValue, new Integer(medium)); piedataset.setValue(highValue, new Integer(high)); piedataset.setValue(criticalValue, new Integer(critical)); } JFreeChart piechart = ChartFactory.createPieChart(title, // Title piedataset, // Dataset true, // Show legend true, // Use tooltips false // Generate URLs ); PiePlot plot = (PiePlot) piechart.getPlot(); //plot.setSimpleLabels(true); if (riskCount == 0) { plot.setSectionPaint(noVulnerabilities, new Color(47, 196, 6)); plot.setLabelLinksVisible(false); plot.setLabelGenerator(null); piechart.removeLegend(); } else { plot.setSectionPaint(criticalValue, new Color(230, 27, 27)); plot.setSectionPaint(highValue, new Color(230, 90, 27)); plot.setSectionPaint(mediumValue, new Color(85, 144, 176)); plot.setSectionPaint(lowValue, new Color(230, 219, 27)); } if (isMain) { piechart.removeLegend(); } plot.setBackgroundPaint(new Color(210, 234, 243)); ChartPanel chartPanel = new ChartPanel(piechart); chartPanel.setEnabled(false); return chartPanel; }
From source file:com.polivoto.vistas.Charts.java
private JPanel hacerPiePanel(Pregunta pregunta, List<Opcion> opciones) { JPanel panel = new JPanel(new BorderLayout()); panel.setBackground(Color.white); DefaultPieDataset data = new DefaultPieDataset(); // Fuente de Datos for (Opcion opc : opciones) { data.setValue(opc.getNombre(), opc.getCantidad()); }// w w w . jav a 2 s. c o m // Creando el Grafico JFreeChart chart = ChartFactory.createPieChart("\n" + pregunta.getTitulo(), data, true, false, //TOOLTIPS false); chart.setBackgroundPaint(Color.white); chart.getTitle().setFont(new Font("Roboto", 0, 28)); // Crear el Panel del Grafico con ChartPanel ChartPanel chartPanel = new ChartPanel(chart); PiePlot plot = (PiePlot) chart.getPlot(); Rectangle bounds = panel.getBounds(); chartPanel.setBounds(bounds.x, bounds.y, bounds.height, bounds.height); panel.add(chartPanel); plot.setLabelGenerator(null); plot.setBackgroundPaint(Color.white); plot.setOutlineVisible(false); //StandardPieSectionLabelGenerator labels = new StandardPieSectionLabelGenerator("{0} = {1}"); //plot.setLabelGenerator(labels); plot.setBaseSectionOutlinePaint(Color.white); plot.setShadowXOffset(0); plot.setShadowYOffset(0); //#7cb5ec,#f45b5b,#90ed7d,#434348, //#f7a35c,#8085e9,#f15c80,#e4d354, //#2b908f,#91e8e1 Color[] colors = { new Color(124, 181, 236), new Color(244, 91, 91), new Color(144, 237, 125), new Color(67, 67, 72), new Color(247, 163, 92), new Color(128, 133, 233), new Color(241, 92, 128), new Color(228, 211, 84), new Color(43, 144, 143), new Color(145, 232, 225) }; PieRenderer renderer = new PieRenderer(colors); renderer.setColor(plot, data); LegendTitle legend = chart.getLegend(); legend.setPosition(RectangleEdge.RIGHT); Font nwfont = new Font("Roboto", 0, 18); legend.setItemFont(nwfont); legend.setFrame(new BlockBorder(0, 0, 0, 90, Color.white)); legend.setBackgroundPaint(Color.WHITE); legend.setItemLabelPadding(new RectangleInsets(8, 8, 8, 0)); //RectangleInsets padding = new RectangleInsets(5, 5, 5, 5); //legend.setItemLabelPadding(padding); plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{1} {0}")); plot.setLegendItemShape(new Rectangle(25, 25)); return panel; }
From source file:servlets.LeasingControllerServlet.java
public void doGetChart() { PieDataset pieDataset = createDataset(); JFreeChart chart = ChartFactory.createPieChart("Tenant Mix ", pieDataset, true, true, false); //chart.setBackgroundPaint(new Color(222, 222, 255)); final PiePlot plot = (PiePlot) chart.getPlot(); plot.setBackgroundPaint(Color.white); plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} {2}")); plot.setCircular(true);/*from w w w . j a v a 2 s .com*/ plot.setSectionPaint("F&B", new Color(15, 192, 252)); try { final ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection()); final File file1 = new File( getServletContext().getRealPath("") + "/leasingSystem/leasingSystemAssets/chart/piechart.png"); ChartUtilities.saveChartAsPNG(file1, chart, 600, 400, info); } catch (Exception e) { System.out.println(e); } }
From source file:probe.com.view.body.quantcompare.PieChart.java
private String initPieChart(int width, int height, String title) { DefaultPieDataset dataset = new DefaultPieDataset(); for (int x = 0; x < labels.length; x++) { dataset.setValue(labels[x], values[x]); }/*from w w w.j av a 2 s . c o m*/ PiePlot plot = new PiePlot(dataset); plot.setNoDataMessage("No data available"); plot.setCircular(true); plot.setLabelGap(0); plot.setLabelFont(new Font("Verdana", Font.BOLD, 10)); plot.setLabelGenerator(new PieSectionLabelGenerator() { @Override public String generateSectionLabel(PieDataset pd, Comparable cmprbl) { return valuesMap.get(cmprbl.toString()); } @Override public AttributedString generateAttributedSectionLabel(PieDataset pd, Comparable cmprbl) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } }); plot.setSimpleLabels(true); plot.setLabelBackgroundPaint(null); plot.setLabelShadowPaint(null); plot.setLabelPaint(Color.WHITE); plot.setLabelOutlinePaint(null); plot.setBackgroundPaint(Color.WHITE); plot.setInteriorGap(0); plot.setShadowPaint(Color.WHITE); plot.setOutlineVisible(false); plot.setBaseSectionOutlinePaint(Color.WHITE); plot.setSectionOutlinesVisible(true); plot.setBaseSectionOutlineStroke(new BasicStroke(1.2f)); plot.setInteriorGap(0.05); for (String label : labels) { plot.setSectionPaint(label, defaultKeyColorMap.get(label)); } JFreeChart chart = new JFreeChart(plot); // chart.setTitle(new TextTitle(title, new Font("Verdana", Font.BOLD, 13))); chart.setBorderPaint(null); chart.setBackgroundPaint(null); chart.getLegend().setFrame(BlockBorder.NONE); chart.getLegend().setItemFont(new Font("Verdana", Font.PLAIN, 10)); String imgUrl = saveToFile(chart, width, height); return imgUrl; }
From source file:net.sf.eclipsecs.ui.stats.views.GraphStatsView.java
/** * Cre le graphe JFreeChart.//from ww w .ja va 2 s . c o m * * @param piedataset * : la source de donnes afficher * @return le diagramme */ private JFreeChart createChart(GraphPieDataset piedataset) { JFreeChart jfreechart = ChartFactory.createPieChart3D(null, piedataset, false, true, false); jfreechart.setAntiAlias(true); jfreechart.setTextAntiAlias(true); PiePlot pieplot3d = (PiePlot) jfreechart.getPlot(); pieplot3d.setInsets(new RectangleInsets(0, 0, 0, 0)); final double angle = 290D; pieplot3d.setStartAngle(angle); pieplot3d.setDirection(Rotation.CLOCKWISE); final float foreground = 0.5F; pieplot3d.setForegroundAlpha(foreground); pieplot3d.setNoDataMessage(Messages.GraphStatsView_noDataToDisplay); pieplot3d.setCircular(true); pieplot3d.setOutlinePaint(null); pieplot3d.setLabelFont(new Font("SansSerif", Font.PLAIN, 10)); pieplot3d.setLabelGap(0.02); pieplot3d.setLabelOutlinePaint(null); pieplot3d.setLabelShadowPaint(null); pieplot3d.setLabelBackgroundPaint(Color.WHITE); pieplot3d.setBackgroundPaint(Color.WHITE); pieplot3d.setInteriorGap(0.02); pieplot3d.setMaximumLabelWidth(0.20); return jfreechart; }
From source file:com.polivoto.vistas.acciones.Datos.java
private JFreeChart crearChartPie(PieDataset dataset, String titulo) { JFreeChart chart = ChartFactory.createPieChart(titulo, dataset, false, true, false); PiePlot plot = (PiePlot) chart.getPlot(); plot.setStartAngle(290);//from w ww . jav a 2s . c o m plot.setDirection(Rotation.ANTICLOCKWISE); plot.setNoDataMessage("No hay votos"); try { if (ac.getConteoOpcionesPregunta().getJSONObject(pox).getInt("participantes") != 0) { int j = 0; for (int i = 0; i < ac.getConteoOpcionesPregunta().getJSONObject(pox).getJSONArray("conteo") .length(); i++) { try { if (ac.getConteoOpcionesPregunta().getJSONObject(pox).getJSONArray("conteo") .getJSONObject(i).getString("reactivo").equals("Anular mi voto")) { plot.setSectionPaint("Nulo", Color.lightGray); } else { plot.setSectionPaint(ac.getConteoOpcionesPregunta().getJSONObject(pox) .getJSONArray("conteo").getJSONObject(i).getString("reactivo"), colores.get(j)); j++; } } catch (JSONException ex) { ex.printStackTrace(); } } } } catch (JSONException ex) { ex.printStackTrace(); } plot.setSimpleLabels(true); plot.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.white)); PieSectionLabelGenerator gen = new StandardPieSectionLabelGenerator("{0}: {2} de votos", new DecimalFormat("0"), new DecimalFormat("0.000%")); plot.setLabelGenerator(gen); if (rotating) { final Rotator rotate = new Rotator(plot); rotate.start(); } return chart; }
From source file:org.tiefaces.components.websheet.chart.ChartHelper.java
/** * finalize the style for jfreechart. The default setting is different from * jfreechart and Excel. We try to minimize the difference. * /*ww w. j a va2s.co m*/ * @param chart * jfreechart. * @param chartData * contain information gathered from excel chart object. */ private void setupPieStyle(final JFreeChart chart, final ChartData chartData) { PiePlot plot = (PiePlot) chart.getPlot(); List<ChartSeries> seriesList = chartData.getSeriesList(); List<ParsedCell> categoryList = chartData.getCategoryList(); BasicStroke bLine = new BasicStroke(2.0f); for (int i = 0; i < seriesList.size(); i++) { ChartSeries chartSeries = seriesList.get(i); List<XColor> valueColorList = chartSeries.getValueColorList(); for (int index = 0; index < categoryList.size(); index++) { try { String sCategory = getParsedCellValue(categoryList.get(index)); Color cColor = ColorUtility.xssfClrToClr(valueColorList.get(index).getXssfColor()); plot.setSectionPaint(sCategory, cColor); plot.setSectionOutlineStroke(sCategory, bLine); } catch (Exception ex) { LOG.log(Level.FINE, "SetupPieStyle error = " + ex.getLocalizedMessage(), ex); } } } plot.setBackgroundPaint(ColorUtility.xssfClrToClr(chartData.getBgColor().getXssfColor())); // below are modifications for default setting in excel chart // to-do: need read setting from xml in future plot.setOutlineVisible(false); plot.setLegendItemShape(new Rectangle(TieConstants.DEFAULT_LEGENT_ITEM_SHAPE_WIDTH, TieConstants.DEFAULT_LEGENT_ITEM_SHAPE_HEIGHT)); chart.setBackgroundPaint(Color.WHITE); LegendTitle legend = chart.getLegend(); legend.setPosition(RectangleEdge.RIGHT); legend.setFrame(BlockBorder.NONE); }
From source file:org.jfree.chart.demo.JFreeChartDemoBase.java
/** * Creates and returns a sample pie chart. * * @return a sample pie chart./*from w w w .j a va 2 s .c o m*/ */ public JFreeChart createPieChartTwo() { // create a default chart based on some sample data... final String title = this.resources.getString("pie.pie2.title"); final CategoryDataset data = DemoDatasetFactory.createCategoryDataset(); final Comparable category = (Comparable) data.getColumnKeys().get(1); final PieDataset extracted = DatasetUtilities.createPieDatasetForColumn(data, category); final JFreeChart chart = ChartFactory.createPieChart(title, extracted, true, true, false); // then customise it a little... chart.setBackgroundPaint(Color.lightGray); final PiePlot pie = (PiePlot) chart.getPlot(); pie.setLabelGenerator(new StandardPieItemLabelGenerator("{0} = {2}", NumberFormat.getNumberInstance(), NumberFormat.getPercentInstance())); pie.setBackgroundImage(JFreeChart.INFO.getLogo()); pie.setBackgroundPaint(Color.white); pie.setBackgroundAlpha(0.6f); pie.setForegroundAlpha(0.75f); return chart; }
From source file:org.sakaiproject.sitestats.impl.chart.ChartServiceImpl.java
private byte[] generatePieChart(String siteId, PieDataset dataset, int width, int height, boolean render3d, float transparency, boolean smallFontInDomainAxis) { JFreeChart chart = null;/*from w w w . j av a2s . c o m*/ if (render3d) chart = ChartFactory.createPieChart3D(null, dataset, false, false, false); else chart = ChartFactory.createPieChart(null, dataset, false, false, false); PiePlot plot = (PiePlot) chart.getPlot(); // set start angle (135 or 150 deg so minor data has more space on the left) plot.setStartAngle(150D); // set transparency plot.setForegroundAlpha(transparency); // set background chart.setBackgroundPaint(parseColor(M_sm.getChartBackgroundColor())); plot.setBackgroundPaint(parseColor(M_sm.getChartBackgroundColor())); // fix border offset chart.setPadding(new RectangleInsets(5, 5, 5, 5)); plot.setInsets(new RectangleInsets(1, 1, 1, 1)); // set chart border plot.setOutlinePaint(null); chart.setBorderVisible(true); chart.setBorderPaint(parseColor("#cccccc")); // set antialias chart.setAntiAlias(true); BufferedImage img = chart.createBufferedImage(width, height); final ByteArrayOutputStream out = new ByteArrayOutputStream(); try { ImageIO.write(img, "png", out); } catch (IOException e) { LOG.warn("Error occurred while generating SiteStats chart image data", e); } return out.toByteArray(); }