Example usage for org.jfree.chart ChartFactory createPieChart

List of usage examples for org.jfree.chart ChartFactory createPieChart

Introduction

In this page you can find the example usage for org.jfree.chart ChartFactory createPieChart.

Prototype

public static JFreeChart createPieChart(String title, PieDataset dataset, boolean legend, boolean tooltips,
        boolean urls) 

Source Link

Document

Creates a pie chart with default settings.

Usage

From source file:servlet.SalesReportPieChart.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//from  w  ww  . ja  v a2s . c  o  m
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    DefaultPieDataset dataset = new DefaultPieDataset();
    int totalTickets = Integer.valueOf(request.getParameter("totalTickets"));
    int totalSoldTickets = Integer.valueOf(request.getParameter("totalSoldTickets"));

    dataset.setValue("Unsold Tickets", new Double(totalTickets - totalSoldTickets));
    dataset.setValue("Sold Tickets", new Double(totalSoldTickets));

    JFreeChart chart = ChartFactory.createPieChart("Ticket Sales", // chart title
            dataset, // data
            true, // include legend
            true, false);

    PiePlot plot = (PiePlot) chart.getPlot();
    plot.setSectionPaint("Unsold Tickets", Color.DARK_GRAY);
    plot.setSectionPaint("Sold Tickets", Color.CYAN);
    plot.setExplodePercent("Unsold Tickets", 0.10);
    plot.setSimpleLabels(true);
    plot.setBackgroundPaint(Color.WHITE);

    PieSectionLabelGenerator gen = new StandardPieSectionLabelGenerator("{0}: {1} ({2})",
            new DecimalFormat("0"), new DecimalFormat("0%"));
    plot.setLabelGenerator(gen);

    final ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());

    int width = 500; /* Width of the image */

    int height = 400; /* Height of the image */

    response.setContentType("image/png");
    OutputStream out = response.getOutputStream();

    ChartUtilities.writeChartAsPNG(out, chart, 400, 300, info);
}

From source file:org.openmrs.module.usagestatistics.web.view.chart.FoundByChartView.java

@Override
protected JFreeChart createChart(Map<String, Object> model, HttpServletRequest request) {
    UsageStatisticsService svc = Context.getService(UsageStatisticsService.class);
    int[] stats = svc.getFoundByStats(getFromDate(), getUntilInclusiveDate(), getLocation(), getUsageFilter());

    String labelLink = ContextProvider.getMessage("usagestatistics.foundBy.directLink");
    String labelId = ContextProvider.getMessage("usagestatistics.foundBy.idSearch");
    String labelName = ContextProvider.getMessage("usagestatistics.foundBy.nameSearch");

    double total = stats[0];
    DefaultPieDataset dataset = new DefaultPieDataset();
    dataset.setValue(labelLink, 100.0 * stats[1] / total);
    dataset.setValue(labelId, 100.0 * stats[2] / total);
    dataset.setValue(labelName, 100.0 * stats[3] / total);

    JFreeChart chart = ChartFactory.createPieChart(null, dataset, false, false, false);

    PiePlot plot = (PiePlot) chart.getPlot();
    plot.setBackgroundPaint(Color.WHITE);
    plot.setInteriorGap(0.0);//from  ww  w  .  jav  a  2  s.  c  o  m
    plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} ({2})"));
    plot.setLabelFont(getFont());

    return chart;
}

From source file:com.twocents.report.charts.PieChartDemo1.java

/**
 * Creates a chart./*from www.j  a v a 2  s .c o  m*/
 *
 * @param dataset  the dataset.
 *
 * @return A chart.
 */
private static JFreeChart createChart(PieDataset dataset) {

    JFreeChart chart = ChartFactory.createPieChart("Pie Chart Demo 1", // chart title
            dataset, // data
            true, // include legend
            true, false);

    PiePlot plot = (PiePlot) chart.getPlot();
    plot.setSectionOutlinesVisible(false);
    plot.setNoDataMessage("No data available");

    return chart;

}

From source file:OfficeAdministrator.CreatePieChart.java

public void createCharts() throws Exception
//public static void main(String args[]) throws Exception
{

    int open = 0;
    int closed = 0;

    /* Create MySQL Database Connection */
    Statement st = DBConnector.getStatement();
    Date date = new Date(System.currentTimeMillis());
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String query = "SELECT COUNT(CallStatus) FROM calls WHERE CallStatus='Open' and Date='" + sdf.format(date)
            + "'";
    ResultSet resultSet = st.executeQuery(query);
    DefaultPieDataset dataset = new DefaultPieDataset();
    if (resultSet.next()) {
        open = Integer.parseInt(resultSet.getString(1));
    }// w w  w  . j  av a  2 s  .  c  o m

    query = "SELECT COUNT(CallStatus) FROM calls WHERE CallStatus='Closed' and Date='" + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);

    if (resultSet.next()) {
        closed = Integer.parseInt(resultSet.getString(1));
    }
    dataset.setValue("Open", open);
    dataset.setValue("Closed", closed);

    JFreeChart chart = ChartFactory.createPieChart("Call Summary", // chart title           
            dataset, // data           
            true, // include legend          
            true, false);

    int width = 560; /* Width of the image */
    int height = 370; /* Height of the image */

    File pieChart = new File(
            "C:\\Users\\Rachna\\Documents\\NetBeansProjects\\OfficeAdministrator\\web\\images\\CallStatus_Chart.jpeg");
    // File pieChart = new File("/../web/images/CallStatus_Chart.jpeg");
    // File f = new File("OfficeAdministrator/web/images/CallStatus_Chart.jpeg");
    //System.out.println(f.getAbsolutePath());
    //File pieChart = new File(f.getAbsolutePath());

    ChartUtilities.saveChartAsJPEG(pieChart, chart, width, height);

    //Call details according to Department
    DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();
    int accopen = 0, accclosed = 0, markopen = 0, markclosed = 0, seropen = 0, serclosed = 0, stopen = 0,
            stclosed = 0, diropen = 0, dirclosed = 0, foopen = 0, foclosed = 0;

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Accounts' and CallStatus='Closed' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        accclosed = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Accounts' and CallStatus='Open' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        accopen = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Marketing' and CallStatus='Closed' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        markclosed = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Marketing' and CallStatus='Open' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        markopen = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Service' and CallStatus='Closed' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        serclosed = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Service' and CallStatus='Open' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        seropen = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Stores' and CallStatus='Closed' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        stclosed = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Stores' and CallStatus='Open' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        stopen = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Director' and CallStatus='Closed' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        dirclosed = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Director' and CallStatus='Open' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        diropen = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='None' and CallStatus='Closed' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        foclosed = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='None' and CallStatus='Open' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        foopen = Integer.parseInt(resultSet.getString(1));

    dataset1.setValue(accopen, "Open", "Accounts");
    dataset1.setValue(accclosed, "Closed", "Accounts");
    dataset1.setValue(diropen, "Open", "Director");
    dataset1.setValue(dirclosed, "Closed", "Director");
    dataset1.setValue(foopen, "Open", "Front Office");
    dataset1.setValue(foclosed, "Closed", "Front Office");
    dataset1.setValue(markopen, "Open", "Marketing");
    dataset1.setValue(markclosed, "Closed", "Marketing");
    dataset1.setValue(seropen, "Open", "Service");
    dataset1.setValue(serclosed, "Closed", "Service");
    dataset1.setValue(stopen, "Open", "Stores");
    dataset1.setValue(stclosed, "Closed", "Stores");

    JFreeChart chart1 = ChartFactory.createBarChart("Call Summary", // chart title 
            "Department", "No of Calls", dataset1, // data
            PlotOrientation.VERTICAL, true, // include legend          
            true, false);

    File callChart = new File(
            "C:\\Users\\Rachna\\Documents\\NetBeansProjects\\OfficeAdministrator\\web\\images\\CallSum_Chart.jpeg");
    ChartUtilities.saveChartAsJPEG(callChart, chart1, width, height);
}

From source file:com.main.controller.ChartDIG.java

public File generatePieChart() throws Exception {
    DefaultPieDataset dataset = new DefaultPieDataset();
    for (String arrayList1 : arrayList) {
        dataset.setValue(arrayList1, Double.parseDouble(arrayList1));
    }/*from  w ww. ja  va2 s .  c o m*/

    JFreeChart chart = ChartFactory.createPieChart(chartTitle, // chart title
            dataset, // data
            true, // include legend
            true, false);

    File pieChart = new File("chart/" + chartTitle + ".jpeg");
    ChartUtilities.saveChartAsJPEG(pieChart, chart, width, height);
    return pieChart;
}

From source file:biblioteca.reportes.ChartCreator.java

public static JFreeChart generatePieChart(DefaultPieDataset dataSet, String titulo) {

    JFreeChart chart = ChartFactory.createPieChart(titulo, dataSet, true, true, false);

    /* ChartFrame frame = new ChartFrame("First", chart);
     frame.pack();//from www  .  j  av a  2  s  .  c o m
     frame.setVisible(true);*/
    return chart;

}

From source file:monitordispositivos.RecibirVotos.java

public void actualizarConteo() {
    /*/*from   w w w  .  j a  v  a  2s  . c o m*/
    * Porcentaje
    */
    votos = votos + 1;
    lblvotos_totales.setText("" + votos);
    porcentaje = (votos * 100) / poblacion;
    if (porcentaje >= 100.0 || (porcentaje % 1) == 0)
        decimales = new DecimalFormat("0");
    else
        decimales = new DecimalFormat("0.00");
    lblporcentaje.setText("" + decimales.format(porcentaje) + "%");

    // Fuente de Datos
    data = new DefaultPieDataset();
    data.setValue("SI", votos);
    data.setValue("NO", poblacion - votos);
    // Creando el Grafico
    chart = ChartFactory.createPieChart("", data, false, false, false);
    chart.setBackgroundPaint(Color.white);

    plot = (PiePlot) chart.getPlot();
    plot.setBackgroundPaint(Color.white);
    plot.setLabelGenerator(null);
    plot.setOutlineVisible(false);
    plot.setSectionPaint("SI", new Color(0, 204, 0));
    plot.setSectionPaint("NO", new Color(218, 24, 24));

    // Crear el Panel del Grafico con ChartPanel
    chartPanel = new ChartPanel(chart);
    chartPanel.setEnabled(false);
    pnlgrafica.setLayout(new java.awt.BorderLayout());
    pnlgrafica.removeAll();
    pnlgrafica.add(chartPanel, BorderLayout.CENTER);
    pnlgrafica.validate();
}

From source file:com.wsn.PieChartDemo.java

/**
 * Creates a chart.//from   w  w w  . j  a va  2  s .  c  om
 * 
 * @param dataset  the dataset.
 * 
 * @return A chart.
 */
private static JFreeChart createChart(PieDataset dataset) {

    JFreeChart chart = ChartFactory.createPieChart("Pie Chart Demo", // chart title
            dataset, // data
            true, // include legend
            true, false);

    PiePlot plot = (PiePlot) chart.getPlot();
    plot.setLabelFont(new Font("SansSerif", Font.PLAIN, 12));
    plot.setNoDataMessage("No data available");
    plot.setCircular(false);
    plot.setLabelGap(0.02);
    return chart;

}

From source file:nl.wur.plantbreeding.logic.jfreechart.PieChart.java

/**
 * Create the Pie Chart using the given dataset.
 * It assigns to the chart the given title, prints the legend if asked,
 * adds a tooltips of the given url./*from   w  w  w  . jav  a2 s.c  om*/
 * @param dataset a PieDataset
 * @param title the title of the graph
 * @param boollegend wether to add the legend or not
 * @param tooltips wether to add the tooltips or not
 * @param urls wether to link the different part of the plot or not
 * @return a JFreeChart object of the pie chart
 */
public final JFreeChart createChart(final PieDataset dataset, final String title, final boolean boollegend,
        final boolean tooltips, final boolean urls) {

    JFreeChart chart = ChartFactory.createPieChart(title, // chart title
            dataset, // data
            boollegend, // include legend
            tooltips, // include tooltips
            urls // include urls
    );

    PiePlot plot = (PiePlot) chart.getPlot();
    plot.setBackgroundAlpha(new Float(0.0));
    plot.setSectionOutlinesVisible(false);
    plot.setNoDataMessage("No data available");
    plot.setOutlineVisible(false); // remove borders around the plot

    return chart;
}

From source file:ch.zhaw.init.walj.projectmanagement.util.chart.PieChart.java

/**
 * creates the pie chart/*from   w  w  w. j  a  va2  s  .  c o  m*/
 * @throws NumberFormatException
 * @throws IOException
 */
public void createChart() throws NumberFormatException, IOException {

    // create dataset with used and remaining budget
    DefaultPieDataset dataset = new DefaultPieDataset();
    dataset.setValue("spent", con.getUsedBudget(project));
    dataset.setValue("remaining", con.getRemainingBudget(project));

    // create chart
    JFreeChart chart = ChartFactory.createPieChart("", dataset, false, false, false);

    // set color and style
    PiePlot plot = (PiePlot) chart.getPlot();
    plot.setSectionPaint("remaining", new Color(0, 101, 166));
    plot.setSectionPaint("spent", new Color(0, 62, 102));
    plot.setLabelGenerator(null);
    plot.setBackgroundPaint(Color.WHITE);
    plot.setShadowXOffset(0);
    plot.setShadowYOffset(0);
    plot.setOutlineVisible(false);
    plot.setInteriorGap(0);

    // set size and save it as JPEG
    int width = 350; /* Width of the image */
    int height = 350; /* Height of the image */
    File pieChart = new File(path + "/Charts/BudgetProject" + project.getID() + ".jpg");
    ChartUtilities.saveChartAsJPEG(pieChart, chart, width, height);
}