Example usage for org.jfree.chart.plot PiePlot PiePlot

List of usage examples for org.jfree.chart.plot PiePlot PiePlot

Introduction

In this page you can find the example usage for org.jfree.chart.plot PiePlot PiePlot.

Prototype

public PiePlot(PieDataset dataset) 

Source Link

Document

Creates a plot that will draw a pie chart for the specified dataset.

Usage

From source file:org.jfree.chart.demo.ImageMapDemo2.java

/**
 * The starting point for the demo.// w  w  w  .j a  v a  2s.  co  m
 *
 * @param args  ignored.
 */
public static void main(final String[] args) {

    // create a chart
    final DefaultPieDataset data = new DefaultPieDataset();
    data.setValue("One", new Double(43.2));
    data.setValue("Two", new Double(10.0));
    data.setValue("Three", new Double(27.5));
    data.setValue("Four", new Double(17.5));
    data.setValue("Five", new Double(11.0));
    data.setValue("Six", new Double(19.4));

    JFreeChart chart = null;
    final boolean drilldown = true;

    // create the chart...
    if (drilldown) {
        final PiePlot plot = new PiePlot(data);
        //          plot.setInsets(new Insets(0, 5, 5, 5));
        plot.setToolTipGenerator(new StandardPieItemLabelGenerator());
        plot.setURLGenerator(new StandardPieURLGenerator("pie_chart_detail.jsp"));
        chart = new JFreeChart("Pie Chart Demo 1", JFreeChart.DEFAULT_TITLE_FONT, plot, true);
    } else {
        chart = ChartFactory.createPieChart("Pie Chart Demo 1", // chart title
                data, // data
                true, // include legend
                true, false);
    }
    chart.setBackgroundPaint(java.awt.Color.white);

    // ****************************************************************************
    // * JFREECHART DEVELOPER GUIDE                                               *
    // * The JFreeChart Developer Guide, written by David Gilbert, is available   *
    // * to purchase from Object Refinery Limited:                                *
    // *                                                                          *
    // * http://www.object-refinery.com/jfreechart/guide.html                     *
    // *                                                                          *
    // * Sales are used to provide funding for the JFreeChart project - please    * 
    // * support us so that we can continue developing free software.             *
    // ****************************************************************************

    // save it to an image
    try {
        final ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
        final File file1 = new File("piechart100.png");
        ChartUtilities.saveChartAsPNG(file1, chart, 600, 400, info);

        // write an HTML page incorporating the image with an image map
        final File file2 = new File("piechart100.html");
        final OutputStream out = new BufferedOutputStream(new FileOutputStream(file2));
        final PrintWriter writer = new PrintWriter(out);
        writer.println("<HTML>");
        writer.println("<HEAD><TITLE>JFreeChart Image Map Demo 2</TITLE></HEAD>");
        writer.println("<BODY>");
        //            ChartUtilities.writeImageMap(writer, "chart", info);
        writer.println("<IMG SRC=\"piechart100.png\" "
                + "WIDTH=\"600\" HEIGHT=\"400\" BORDER=\"0\" USEMAP=\"#chart\">");
        writer.println("</BODY>");
        writer.println("</HTML>");
        writer.close();

    } catch (IOException e) {
        System.out.println(e.toString());
    }

}

From source file:Panels.FinanzPanel.java

public FinanzPanel(DetailContainer dc) {
    this.dc = dc;
    initComponents();//from  www  .  j  a  v  a  2  s. co m
    dataset = new DefaultPieDataset();
    ;
    //        //dataset.addSeries("xy", A);
    //        dataset.setValue("One", new Double(43.2));
    //        dataset.setValue("Two", new Double(10.0));
    renderer = new XYSplineRenderer();
    ////        xax = new NumberAxis("x");
    ////        yax = new NumberAxis("y");
    plot = new PiePlot(dataset);
    //        //plot = new XYPlot(dataset,xax,yax, renderer);
    chart1 = new JFreeChart(plot);
    chartPanel1 = new ChartPanel(chart1);
    chartPanel1.setMouseWheelEnabled(true);
    //        this.jPanel1.setLayout(new java.awt.BorderLayout());
    this.jPanel1.add(chartPanel1);
    this.jButton1.setModel(new DefaultButtonModel());
    //        this.add(new JButton("back"), BorderLayout.SOUTH );
    this.validate();
}

From source file:org.xwiki.chart.internal.plot.PiePlotGenerator.java

/**
 * {@inheritDoc}//w ww .ja  va  2s. c om
 */
public Plot generate(ChartModel model, Map<String, String> parameters) {
    DefaultPieDataset dataset = new DefaultPieDataset();
    String dataSeries = parameters.get("series");
    if (dataSeries.equals("rows")) {
        for (int column = 0; column < model.getColumnCount(); column++) {
            String category = model.getColumnHeader(column);
            dataset.setValue(category, model.getCellValue(0, column));
        }
    } else {
        for (int row = 0; row < model.getRowCount(); row++) {
            String category = model.getRowHeader(row);
            dataset.setValue(category, model.getCellValue(row, 0));
        }
    }
    return new PiePlot(dataset);
}

From source file:nextapp.echo2.chart.testapp.testscreen.PieChartTest.java

public PieChartTest() {
    super(SplitPane.ORIENTATION_HORIZONTAL, new Extent(250, Extent.PX));
    setStyleName("DefaultResizable");

    ButtonColumn controlsColumn = new ButtonColumn();
    controlsColumn.setStyleName("TestControlsColumn");
    add(controlsColumn);/*from ww  w.j a  va 2 s  .  c o  m*/

    DefaultKeyedValues values = new DefaultKeyedValues();
    values.addValue("Widgets", 500.2);
    values.addValue("Cubits", 216.0);
    values.addValue("Zonkits", 125.9);

    final DefaultPieDataset pieDataset = new DefaultPieDataset(new DefaultPieDataset(values));
    PiePlot piePlot = new PiePlot(pieDataset);

    final ChartDisplay chartDisplay = new ChartDisplay(piePlot);
    add(chartDisplay);

    controlsColumn.addButton("Set Width = 800px", new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            synchronized (chartDisplay) {
                chartDisplay.setWidth(new Extent(800));
            }
        }
    });

    controlsColumn.addButton("Set Width = null", new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            synchronized (chartDisplay) {
                chartDisplay.setWidth(null);
            }
        }
    });

    controlsColumn.addButton("Set Height = 600px", new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            synchronized (chartDisplay) {
                chartDisplay.setHeight(new Extent(600));
            }
        }
    });

    controlsColumn.addButton("Set Height = null", new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            synchronized (chartDisplay) {
                chartDisplay.setHeight(null);
            }
        }
    });

    controlsColumn.addButton("Update a Value", new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            synchronized (chartDisplay) {
                pieDataset.setValue("Cubits", Math.random() * 500);
            }
        }
    });
}

From source file:com.idealista.solrmeter.view.statistic.PieChartPanel.java

private Component createChartPanel() {
    PiePlot plot = new PiePlot(pieDataset);

    JFreeChart chart = new JFreeChart(I18n.get("statistic.pieChartPanel.title"), null, plot, true);
    chart.getLegend().setPosition(RectangleEdge.RIGHT);

    ChartPanel chartPanel = new ChartPanel(chart);

    chartPanel.setBorder(CHART_BORDER);/*from  w w w .  j av a2  s. co m*/
    chartPanel.setMinimumDrawHeight(0);
    chartPanel.setMinimumDrawWidth(0);
    chartPanel.setMaximumDrawHeight(Integer.MAX_VALUE);
    chartPanel.setMaximumDrawWidth(Integer.MAX_VALUE);

    return chartPanel;
}

From source file:Panels.FinanzPanel.java

public void callDb() {

    try {//  w  w w  .  j av  a 2s.  com
        st = this.dc.getOracleConnector().dbcon.createStatement();
        result = st.executeQuery("select * from finanzplan where IDFinPlan=" + name + "");
        while (result.next()) {
            System.out.println("Test:" + result.getInt("geplant"));
            dataset.setValue("GEPLANT", new Double(result.getFloat("GEPLANT")));
            dataset.setValue("VORHANDEN", new Double(result.getFloat("VORHANDEN")));

        }

        plot = new PiePlot(dataset);
        chart1 = new JFreeChart(plot);
        chartPanel1 = new ChartPanel(chart1);
        chartPanel1.setMouseWheelEnabled(true);
        this.setLayout(new java.awt.BorderLayout());
        this.add(chartPanel1, BorderLayout.CENTER);
        this.validate();
    } catch (SQLException ex) {
        Logger.getLogger(MitarbeiterPanel.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:nextapp.echo.chart.testapp.testscreen.PieChartTest.java

public PieChartTest() {
    super(SplitPane.ORIENTATION_HORIZONTAL, new Extent(250, Extent.PX));
    setStyleName("DefaultResizable");

    ButtonColumn controlsColumn = new ButtonColumn();
    controlsColumn.setStyleName("TestControlsColumn");
    add(controlsColumn);/*  ww w  .  ja v  a 2s. c  om*/

    DefaultKeyedValues values = new DefaultKeyedValues();
    values.addValue("Widgets", 500.2);
    values.addValue("Cubits", 216.0);
    values.addValue("Zonkits", 125.9);

    final DefaultPieDataset pieDataset = new DefaultPieDataset(new DefaultPieDataset(values));
    PiePlot piePlot = new PiePlot(pieDataset);
    piePlot.setToolTipGenerator(new StandardPieToolTipGenerator());

    final ChartDisplay chartDisplay = new ChartDisplay(piePlot);
    add(chartDisplay);

    chartDisplay.setActionCommands(new String[] { "Widgets", "Cubits", "Zonkits" });
    chartDisplay.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent arg0) {
            WindowPane window = new WindowPane("Chart series clicked", new Extent(300), new Extent(200));
            window.add(new Label("You clicked on " + arg0.getActionCommand()));
            Component contentPane = getParent();
            while (!(contentPane instanceof ContentPane)) {
                contentPane = contentPane.getParent();
            }
            contentPane.add(window);
        }
    });

    ChartPanel chartPanel = new ChartPanel(new JFreeChart(piePlot));
    chartPanel.setRefreshBuffer(true);
    ChartEntity entity = chartPanel.getEntityForPoint(50, 50);
    System.out.println("Entity: " + entity);

    controlsColumn.addButton("Set Width = 800px", new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            synchronized (chartDisplay) {
                chartDisplay.setWidth(new Extent(800));
            }
        }
    });

    controlsColumn.addButton("Set Width = null", new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            synchronized (chartDisplay) {
                chartDisplay.setWidth(null);
            }
        }
    });

    controlsColumn.addButton("Set Height = 600px", new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            synchronized (chartDisplay) {
                chartDisplay.setHeight(new Extent(600));
            }
        }
    });

    controlsColumn.addButton("Set Height = null", new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            synchronized (chartDisplay) {
                chartDisplay.setHeight(null);
            }
        }
    });

    controlsColumn.addButton("Update a Value", new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            synchronized (chartDisplay) {
                pieDataset.setValue("Cubits", Math.random() * 500);
            }
        }
    });
}

From source file:com.xpn.xwiki.plugin.charts.plots.PiePlotFactory.java

public Plot create(DataSource dataSource, ChartParams params) throws GenerateException, DataSourceException {
    DefaultPieDataset dataset = new DefaultPieDataset();
    String dataSeries = params.getString(ChartParams.SERIES);
    if (dataSeries.equals("columns")) {
        for (int row = 0; row < dataSource.getRowCount(); row++) {
            if (dataSource.hasHeaderColumn()) {
                String category = dataSource.getHeaderColumnValue(row);
                dataset.setValue(category, dataSource.getCell(row, 0));
            } else {
                dataset.setValue("Category " + (row + 1), dataSource.getCell(row, 0));
            }//w  w w  .ja  va  2s. co m
        }
    } else if (dataSeries.equals("rows")) {
        for (int column = 0; column < dataSource.getColumnCount(); column++) {
            if (dataSource.hasHeaderRow()) {
                String category = dataSource.getHeaderRowValue(column);
                dataset.setValue(category, dataSource.getCell(0, column));
            } else {
                dataset.setValue("Category " + (column + 1), dataSource.getCell(0, column));
            }
        }
    } else {
        throw new GenerateException("Invalid series parameter:" + dataSeries);
    }

    Class plotClass = params.getClass(ChartParams.RENDERER);
    PiePlot plot;
    if (plotClass != null) {
        try {
            Constructor ctor = plotClass.getConstructor(new Class[] { PieDataset.class });
            plot = (PiePlot) ctor.newInstance(new Object[] { dataset });
        } catch (Throwable e) {
            throw new GenerateException(e);
        }
    } else {
        plot = new PiePlot(dataset);
    }
    ChartCustomizer.customizePiePlot(plot, params);
    return plot;
}

From source file:org.hxzon.demo.jfreechart.PieDatasetDemo2.java

private static JFreeChart createPieChart(PieDataset dataset) {

    PiePlot plot = new PiePlot(dataset);
    plot.setLabelGenerator(new StandardPieSectionLabelGenerator());
    plot.setInsets(new RectangleInsets(0.0, 5.0, 5.0, 5.0));
    if (tooltips) {
        plot.setToolTipGenerator(new StandardPieToolTipGenerator());
    }/*from   ww  w  .  ja v  a2  s .  co  m*/
    if (urls) {
        plot.setURLGenerator(new StandardPieURLGenerator());
    }
    JFreeChart chart = new JFreeChart("Pie Chart Demo 1", JFreeChart.DEFAULT_TITLE_FONT, plot, legend);
    plot.setSectionOutlinesVisible(false);
    plot.setNoDataMessage("No data available");

    return chart;

}

From source file:com.sixrr.metrics.ui.charts.PieChartDialog.java

private JFreeChart createChart(PieDataset dataset) {
    final String title = getTitle();
    final PiePlot plot = new PiePlot(dataset);
    plot.setInsets(new Insets(0, 5, 5, 5));
    final int numItems = dataset.getItemCount();
    int total = 0;
    for (int i = 0; i < numItems; i++) {
        final Number value = dataset.getValue(i);
        total += value.intValue();/* www  .  j  a  va2  s  . co m*/
    }
    final PieItemLabelGenerator tooltipGenerator = new PieChartTooltipGenerator(total);
    plot.setItemLabelGenerator(tooltipGenerator);
    plot.setURLGenerator(null);
    return new JFreeChart(title, JFreeChartConstants.DEFAULT_TITLE_FONT, plot, false);
}