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:edu.uara.wrappers.customcharts.CustomPieChart.java

/**
 * Override functions /*from  ww  w . ja v a  2  s  .c o  m*/
 * generate pieChart
 */

@Override
public void generatePieChart(PieDataset dataset, String seriesName, TableOrder order) {
    pieDs = dataset;//store dataset for update
    this.singlePieDatasetSeries = seriesName;
    tableOrder = order;
    try {
        if (dataset == null)
            throw new Exception("No dataset provided");
        chart = ChartFactory.createPieChart(title, dataset, legend, // legend?
                false, // no tooltip needed
                false // mo URL needed
        );
        currentDatasetType = DatasetTypes.PieDataset;
    } catch (Exception ex) {
        //handle exception
        System.out.print("Error Generating pie chart. " + ex.getMessage());
    }
}

From source file:UserInterface.VaccineManufacturer.TrackVaccineWastage.java

private void summarizeJButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_summarizeJButtonActionPerformed
    // TODO add your handling code here:
    int totalWastage = 0;
    DefaultPieDataset pieDataset = new DefaultPieDataset();
    for (Vaccine vaccine : enterprise.getVaccineCatalog().getVaccineList()) {
        populateWastageTable(vaccine);/*from   w  w w .  ja  v  a 2 s . c  o m*/
        totalWastage = Integer.parseInt(totalWastageJTextField.getText());
        pieDataset.setValue(vaccine.getName(), totalWastage);
    }

    JFreeChart chart = ChartFactory.createPieChart("Pie Chart", pieDataset, true, true, true);
    PiePlot p = (PiePlot) chart.getPlot();
    ChartFrame frame = new ChartFrame("Wastage Summary", chart);
    frame.setVisible(true);
    frame.setSize(450, 500);
}

From source file:UserInterface.PowerStationAdminRole.ReviewPerformanceJPanel.java

private void chartJButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chartJButtonActionPerformed
    // TODO add your handling code here:

    DefaultPieDataset d = new DefaultPieDataset();
    Collections.sort(organization.getElectricityDirectory().getElecCatalog());
    for (Electricity v : organization.getElectricityDirectory().getElecCatalog()) {

        d.setValue(v.getElectricitySource(), v.getSoldQuantity());

        JFreeChart chart = ChartFactory.createPieChart("Pie Chart", d, true, true, true);
        PiePlot p = (PiePlot) chart.getPlot();
        ChartFrame frame = new ChartFrame("Pie Chart", chart);
        frame.setVisible(true);//ww  w .  ja va  2  s .com
        frame.setSize(450, 500);

        //         DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        //        int i=0;
        //       for(Electricity v : organization.getElectricityDirectory().getElecCatalog()){
        //           //  for(Order o : enterprise.getMasterOrderCatalog().getOrderCatalog()){
        //           for(OrderItem oi : organization.getOrder().getOrderItemList()){
        //        
        //      //  for(OrderItem oi : o.getOrderItemList()){
        //            if(oi.getElectricity().getElectricitySource().equals(v.getElectricitySource()))
        //            {
        //            i++;
        //            
        //        int totalSales = oi.getSalesPrice();
        //           topSalesAmountJTextField.getText();
        //            
        //            
        //            dataset.setValue(totalSales,"Values","product"+i);
        //            }
        //      
        //            
        //        JFreeChart chart = ChartFactory.createLineChart("Parameter values","Total Sales","Values",dataset);
        //        chart.setBackgroundPaint(Color.white);
        //        chart.getTitle().setPaint(Color.red);
        //        CategoryPlot a = chart.getCategoryPlot();
        //        a.setRangeGridlinePaint(Color.blue);
        //        ChartFrame frame = new ChartFrame("Line Chart For Parameters",chart);
        //        frame.setVisible(true);
        //        frame.setSize(450,350);
        //            

    }

}

From source file:org.zaproxy.zap.extension.multiFuzz.impl.http.HttpFuzzResultDialog.java

public void redrawDiagrams() {
    diagrams.removeAll();//from  ww w  . jav  a 2  s .  co m
    JFreeChart resultChart = ChartFactory.createPieChart(
            Constant.messages.getString("fuzz.result.dia.chart.results.header"), resultSet, true, true, false);

    resultChart.getPlot().setBackgroundImageAlignment(Align.TOP_RIGHT);
    result = new ChartPanel(resultChart);

    JFreeChart statusChart = ChartFactory.createPieChart(
            Constant.messages.getString("fuzz.result.dia.chart.states.header"), stateSet, true, true, false);
    statusChart.getPlot().setBackgroundImageAlignment(Align.TOP_RIGHT);
    status = new ChartPanel(statusChart);

    JFreeChart sizeChart = ChartFactory.createBarChart(
            Constant.messages.getString("fuzz.result.dia.chart.size.header"),
            Constant.messages.getString("fuzz.result.dia.chart.size.xaxis"),
            Constant.messages.getString("fuzz.result.dia.chart.size.yaxis"), sizeSet, PlotOrientation.VERTICAL,
            false, true, true);
    sizeChart.getPlot().setBackgroundImageAlignment(Align.TOP_RIGHT);
    sizeChart.getCategoryPlot().getRenderer().setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());
    size = new ChartPanel(sizeChart);

    JFreeChart rttChart = ChartFactory.createBarChart(
            Constant.messages.getString("fuzz.result.dia.chart.rtt.header"),
            Constant.messages.getString("fuzz.result.dia.chart.rtt.xaxis"),
            Constant.messages.getString("fuzz.result.dia.chart.rtt.yaxis"), rttSet, PlotOrientation.VERTICAL,
            false, true, true);
    rttChart.getPlot().setBackgroundImageAlignment(Align.TOP_RIGHT);
    rttChart.getCategoryPlot().getRenderer().setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());

    rtt = new ChartPanel(rttChart);
    diagrams.add(Constant.messages.getString("fuzz.result.dia.results"), result);
    diagrams.add(Constant.messages.getString("fuzz.result.dia.states"), status);
    diagrams.add(Constant.messages.getString("fuzz.result.dia.size"), size);
    diagrams.add(Constant.messages.getString("fuzz.result.dia.rtt"), rtt);
}

From source file:uk.ac.bbsrc.tgac.miso.core.util.ReportsUtils.java

public static String buildHTMLReport(List<? extends Reportable> reportables, String type, List<String> options)
        throws ReportingException {
    Random generator = new Random();
    StringBuilder sb = new StringBuilder();
    Boolean chartbool = false;/*from w ww  .j  a v  a  2  s .  c  o  m*/
    if (options.contains("Chart")) {
        chartbool = true;
    }

    // header
    sb.append(
            "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n"
                    + "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"
                    + "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en-gb\">\n" + "<head>\n"
                    + "    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\n"
                    + "<meta http-equiv=\"Pragma\" content=\"no-cache\">\n"
                    + "<meta http-equiv=\"Cache-Control\" content=\"no-cache\">\n"
                    + "<meta http-equiv=\"Expires\" content=\"Sat, 01 Dec 2001 00:00:00 GMT\">\n"
                    + "    <link rel=\"stylesheet\" href=\"/styles/style.css\" type=\"text/css\">\n"
                    + "<title>MISO Report</title>"
                    + "</head><body onLoad=\"self.focus()\"><table border=\"0\" width=\"100%\">\n"
                    + "    <tr>\n" + "        <td class=\"headertable\" align=\"left\" \">\n"
                    + "            <img src=\"/styles/images/miso_logo.png\" alt=\"MISO Logo\" name=\"logo\"\n"
                    + "                                  border=\"0\" id=\"misologo\"/>\n" + "        </td>\n"
                    + "        <td class=\"headertable\" align=\"right\" \">\n"
                    + "            <img src=\"/styles/images/tgac_new_logo.png\" alt=\"TGAC Logo\" name=\"logo\"\n"
                    + "                                  border=\"0\" id=\"tgaclogo\"/>\n" + "        </td>\n"
                    + "    </tr>\n" + "</table><hr/>");
    // end of header

    if (type.equals("Project")) {
        Boolean incOverview = false;
        Boolean incSamples = false;
        if (options.contains("Overview")) {
            incOverview = true;
        }
        if (options.contains("Samples")) {
            incSamples = true;
        }

        if (reportables.size() == 1) {
            //Single Project report
            List reportableslist = new ArrayList<Reportable>(reportables);
            Reportable reportable = (Reportable) reportableslist.get(0);
            Project project = (Project) reportable;
            sb.append("<h1>Project Information</h1><br/><div class='report'>");
            sb.append("<b>Project Name: </b> " + project.getName());
            sb.append("<br/><br/>");
            sb.append("<b>Project Alias: </b> " + project.getAlias());
            sb.append("<br/><br/>");
            sb.append("<b>Project Description: </b> " + project.getDescription());
            sb.append("<br/><br/>");
            sb.append("<b>Progress: </b> " + project.getProgress().name());
            sb.append("<br/><br/>");

            if (project.getOverviews().size() > 0 && incOverview) {
                sb.append("<table class=\"list\">\n" + "            <thead>\n" + "            <tr>\n"
                        + "                <th>Principal Investigator</th>\n"
                        + "                <th>Start Date</th>\n" + "                <th>End Date</th>\n"
                        + "                <th>Proposed Samples</th>\n"
                        + "                <th>QC Passed Sample</th>\n" + "            </tr>\n"
                        + "            </thead>\n" + "            <tbody>");
                for (ProjectOverview overview : project.getOverviews()) {
                    sb.append("<tr>\n" + "                    <td>" + overview.getPrincipalInvestigator()
                            + "</td>\n" + "                    <td>" + overview.getStartDate() + "</td>\n"
                            + "                    <td>" + overview.getEndDate() + "</td>\n"
                            + "                    <td>" + overview.getNumProposedSamples().toString()
                            + "</td>\n" + "                    <td>" + overview.getQcPassedSamples().size()
                            + "</td>\n" + "                </tr>");
                }
                sb.append("</tbody>\n" + "        </table>");
            } else {
                if (incOverview) {
                    sb.append("<b>Overview:</b> None.");
                }
            }
            sb.append("<br/>");
            if (project.getSamples().size() > 0 && incSamples) {
                sb.append("<table class=\"list\">\n" + "            <thead>\n" + "            <tr>\n"
                        + "                <th>Sample Name</th>\n" + "                <th>Sample Alias</th>\n"
                        + "                <th>Type</th>\n" + "                <th>QC Passed</th>\n"
                        + "            </tr>\n" + "            </thead>\n" + "            <tbody>");
                for (Sample sample : project.getSamples()) {
                    sb.append("<tr>\n" + "                    <td><b>" + sample.getName() + "</b></td>\n"
                            + "                    <td>" + sample.getAlias() + "</td>\n"
                            + "                    <td>" + sample.getSampleType() + "</td>\n"
                            + "                    <td>" + sample.getQcPassed().toString() + "</td>\n"
                            + "                </tr>");
                }
                sb.append("</tbody>\n" + "        </table>");
            } else {
                if (incSamples) {
                    sb.append("<b>Samples:</b> None.");
                }
            }

        }
        // Lists of Projects report
        else if (reportables.size() > 1) {
            sb.append("<h1>Projects Information</h1><br/><div class='report'>");
            Map<String, Integer> map = new HashMap<String, Integer>();
            sb.append("<table class=\"list\">\n" + "    <thead>\n" + "    <tr>\n"
                    + "        <th>Project Name</th>\n" + "        <th>Project Alias</th>\n"
                    + "        <th>Project Description</th>\n" + "        <th>Progress</th>\n");
            if (incOverview) {
                sb.append("        <th>Overviews</th>\n");
            }
            if (incSamples) {
                sb.append("        <th>Samples</th>\n");
            }
            sb.append("    </tr>\n" + "    </thead>\n" + "    <tbody>");
            for (Reportable reportable : reportables) {
                Project project = (Project) reportable;
                sb.append("<tr><td>" + project.getName());
                sb.append("</td>");
                sb.append("<td> " + project.getAlias());
                sb.append("</td>");
                sb.append("<td> " + project.getDescription());
                sb.append("</td>");
                sb.append("<td> " + project.getProgress().name());
                sb.append("</td>");
                if (incOverview) {
                    sb.append("<td>");
                    if (project.getOverviews().size() > 0) {
                        sb.append("<ul class='bullets'>");
                        for (ProjectOverview overview : project.getOverviews()) {
                            sb.append("<li>Principal Investigator: " + overview.getPrincipalInvestigator()
                                    + "<br/> Start Date: " + overview.getStartDate() + "<br/> End Date: "
                                    + overview.getEndDate() + "<br/> Proposed Samples: "
                                    + overview.getNumProposedSamples().toString() + "<br/> QC Passed Samples: "
                                    + overview.getQcPassedSamples().size() + "</li>");
                        }
                        sb.append("</ul>");
                    } else {
                        sb.append("None");
                    }
                    sb.append("</td>");
                }
                if (incSamples) {
                    sb.append("<td>");
                    if (project.getSamples().size() > 0) {
                        sb.append("<ul class='bullets'>");
                        for (Sample sample : project.getSamples()) {
                            sb.append("<li>" + sample.getAlias() + "</li>");
                        }
                        sb.append("</ul>");
                    } else {
                        sb.append("None");
                    }
                    sb.append("</td>");
                }
                sb.append("</tr>");
                int count = map.containsKey(project.getProgress().getKey())
                        ? map.get(project.getProgress().getKey())
                        : 0;
                count++;
                map.put(project.getProgress().getKey(), count);
            }
            sb.append("    </tbody>\n" + "</table>");
            Integer unknown = map.containsKey("Unknown") ? map.get("Unknown") : 0;
            Integer active = map.containsKey("Active") ? map.get("Active") : 0;
            Integer inactive = map.containsKey("Inactive") ? map.get("Inactive") : 0;
            Integer cancelled = map.containsKey("Cancelled") ? map.get("Cancelled") : 0;
            Integer proposed = map.containsKey("Proposed") ? map.get("Proposed") : 0;
            Integer pending = map.containsKey("Pending") ? map.get("Pending") : 0;
            Integer approved = map.containsKey("Approved") ? map.get("Approved") : 0;
            Integer completed = map.containsKey("Completed") ? map.get("Completed") : 0;
            //jfreechart
            final DefaultPieDataset data = new DefaultPieDataset();
            data.setValue("Unknown " + unknown, unknown);
            data.setValue("Active " + active, active);
            data.setValue("Inactive " + inactive, inactive);
            data.setValue("Cancelled " + cancelled, cancelled);
            data.setValue("Proposed " + proposed, proposed);
            data.setValue("Pending " + pending, pending);
            data.setValue("Approved " + approved, approved);
            data.setValue("Completed " + completed, completed);

            final JFreeChart chart = ChartFactory.createPieChart("Projects Status Information", // chart title
                    data, // data
                    false, // include legend
                    true, false);

            final PiePlot plot = (PiePlot) chart.getPlot();
            plot.setStartAngle(290);
            plot.setDirection(Rotation.CLOCKWISE);
            plot.setBackgroundPaint(Color.white);
            plot.setForegroundAlpha(0.5f);
            plot.setNoDataMessage("No data to display");
            int r = generator.nextInt();
            File projectchart = new File("../webapps/ROOT/styles/images/projectschart" + r + ".png");
            try {
                ChartUtilities.saveChartAsPNG(projectchart, chart, 500, 300);
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (chartbool) {
                sb.append("<br/><img src='/styles/images/projectschart" + r + ".png'/>");
            }
        } else {
            sb.append("<h1>Project Information</h1><br/><div class='report'>Nothing to Report.");
        }

    } else if (type.equals("Sample")) {
        Boolean incQC = false;
        if (options.contains("QC")) {
            incQC = true;
        }

        if (reportables.size() == 1) {
            //Single Sample report
            List reportableslist = new ArrayList<Reportable>(reportables);
            Reportable reportable = (Reportable) reportableslist.get(0);
            Sample sample = (Sample) reportable;
            sb.append("<h1>Sample Information</h1><br/><div class='report'>");
            sb.append("<b>Sample Name: </b> " + sample.getName());
            sb.append("<br/><br/>");
            sb.append("<b>Project Alias: </b> " + sample.getProject().getAlias());
            sb.append("<br/><br/>");
            sb.append("<b>Sample Alias: </b> " + sample.getAlias());
            sb.append("<br/><br/>");
            sb.append("<b>Sample Description: </b> " + sample.getDescription());
            sb.append("<br/><br/>");
            sb.append("<b>Scientific Name: </b> " + sample.getScientificName());
            sb.append("<br/><br/>");
            sb.append("<b>Sample Type: </b> " + sample.getSampleType());
            sb.append("<br/><br/>");
            sb.append("<b>QC Passed: </b> " + sample.getQcPassed().toString());
            sb.append("<br/><br/>");

            if (sample.getSampleQCs().size() > 0 && incQC) {
                sb.append("<table class=\"list\">\n" + "            <thead>\n" + "            <tr>\n"
                        + "                <th>QCed By</th>\n" + "                <th>QC Date</th>\n"
                        + "                <th>Method</th>\n" + "                <th>Results</th>\n"
                        + "            </tr>\n" + "            </thead>\n" + "            <tbody>");
                for (SampleQC sampleQC : sample.getSampleQCs()) {
                    sb.append("<tr>\n" + "                    <td>" + sampleQC.getQcCreator() + "</td>\n"
                            + "                    <td>" + sampleQC.getQcDate().toString() + "</td>\n"
                            + "                    <td>" + sampleQC.getQcType().getName() + "</td>\n"
                            + "                    <td>" + sampleQC.getResults().toString()
                            + "ng/&#181;l</td>\n" + "                </tr>");
                }
                sb.append("</tbody>\n" + "        </table>");
            } else {
                if (incQC) {
                    sb.append("<b>QC:</b> None.");
                }
            }

        }
        // Lists of Samples report
        else if (reportables.size() > 1) {
            sb.append("<h1>Samples Information</h1><br/><div class='report'>");
            Map<String, Integer> typeMap = new HashMap<String, Integer>();
            Map<String, Integer> qcMap = new HashMap<String, Integer>();
            sb.append("<table class=\"list\">\n" + "    <thead>\n" + "    <tr>\n"
                    + "        <th>Sample Name</th>\n" + "        <th>Project Alias</th>\n"
                    + "        <th>Sample Alias</th>\n" + "        <th>Sample Description</th>\n"
                    + "        <th>Scientific Name</th>\n" + "        <th>Sample Type</th>\n"
                    + "        <th>QC Passed</th>\n");
            if (incQC) {
                sb.append("        <th>QC</th>\n");
            }
            sb.append("    </tr>\n" + "    </thead>\n" + "    <tbody>");
            for (Reportable reportable : reportables) {
                Sample sample = (Sample) reportable;
                sb.append("<tr><td>" + sample.getName());
                sb.append("</td>");
                sb.append("<td>" + sample.getProject().getAlias());
                sb.append("</td>");
                sb.append("<td> " + sample.getAlias());
                sb.append("</td>");
                sb.append("<td> " + sample.getDescription());
                sb.append("</td>");
                sb.append("<td> " + sample.getScientificName());
                sb.append("</td>");
                sb.append("<td> " + sample.getSampleType());
                sb.append("</td>");
                sb.append("<td> " + sample.getQcPassed().toString());
                sb.append("</td>");
                if (incQC) {
                    sb.append("<td>");
                    if (sample.getSampleQCs().size() > 0) {
                        sb.append("<ul class='bullets'>");
                        for (SampleQC sampleQC : sample.getSampleQCs()) {
                            sb.append("<li>\n" + "                    QCed By: " + sampleQC.getQcCreator()
                                    + "<br/>\n" + "                    QC Date: "
                                    + sampleQC.getQcDate().toString() + "<br/>\n"
                                    + "                    Method: " + sampleQC.getQcType().getName()
                                    + "<br/>\n" + "                    Results: "
                                    + sampleQC.getResults().toString() + "ng/&#181;l</li>");
                        }
                        sb.append("</ul>");
                    } else {
                        sb.append("None");
                    }
                    sb.append("</td>");
                }
                sb.append("</tr>");

                int typecount = typeMap.containsKey(sample.getSampleType())
                        ? typeMap.get(sample.getSampleType())
                        : 0;
                typecount++;
                typeMap.put(sample.getSampleType(), typecount);

                int qccount = qcMap.containsKey(sample.getQcPassed().toString())
                        ? qcMap.get(sample.getQcPassed().toString())
                        : 0;
                qccount++;
                qcMap.put(sample.getQcPassed().toString(), qccount);
            }
            sb.append("    </tbody>\n" + "</table>");
            Integer nonGENOMIC = typeMap.containsKey("NON GENOMIC") ? typeMap.get("NON GENOMIC") : 0;
            Integer genomic = typeMap.containsKey("GENOMIC") ? typeMap.get("GENOMIC") : 0;
            Integer other = typeMap.containsKey("OTHER") ? typeMap.get("OTHER") : 0;
            Integer viralRNA = typeMap.containsKey("VIRAL RNA") ? typeMap.get("VIRAL RNA") : 0;
            Integer synthetic = typeMap.containsKey("SYNTHETIC") ? typeMap.get("SYNTHETIC") : 0;

            //jfreechart for type
            final DefaultPieDataset data = new DefaultPieDataset();
            data.setValue("NON GENOMIC " + nonGENOMIC, nonGENOMIC);
            data.setValue("GENOMIC " + genomic, genomic);
            data.setValue("OTHER " + other, other);
            data.setValue("VIRAL RNA " + viralRNA, viralRNA);
            data.setValue("SYNTHETIC " + synthetic, synthetic);

            final JFreeChart chart = ChartFactory.createPieChart("Samples Type Information", // chart title
                    data, // data
                    false, // include legend
                    true, false);

            final PiePlot plot = (PiePlot) chart.getPlot();
            plot.setStartAngle(290);
            plot.setDirection(Rotation.CLOCKWISE);
            plot.setForegroundAlpha(0.5f);
            plot.setBackgroundPaint(Color.white);
            plot.setNoDataMessage("No data to display");
            int r = generator.nextInt();
            File samplechart = new File("../webapps/ROOT/styles/images/samplestypechart" + r + ".png");
            try {
                ChartUtilities.saveChartAsPNG(samplechart, chart, 500, 300);
            } catch (IOException e) {
                e.printStackTrace();
            }

            if (chartbool) {
                sb.append("<br/><img src='/styles/images/samplestypechart" + r + ".png'/>");
            }
            Integer qcpassed = qcMap.containsKey("true") ? qcMap.get("true") : 0;
            Integer qcnotpassed = qcMap.containsKey("false") ? qcMap.get("false") : 0;

            //jfreechart for qc
            final DefaultPieDataset qcdata = new DefaultPieDataset();
            qcdata.setValue("QC Passed " + qcpassed, qcpassed);
            qcdata.setValue("QC Not Passed " + qcnotpassed, qcnotpassed);

            final JFreeChart qcchart = ChartFactory.createPieChart("Samples QC Information", // chart title
                    qcdata, // data
                    false, // include legend
                    true, false);

            final PiePlot qcplot = (PiePlot) qcchart.getPlot();
            qcplot.setStartAngle(290);
            qcplot.setDirection(Rotation.CLOCKWISE);
            qcplot.setForegroundAlpha(0.5f);
            qcplot.setBackgroundPaint(Color.white);
            qcplot.setNoDataMessage("No data to display");
            File sampleqcchart = new File("../webapps/ROOT/styles/images/samplesqcchart" + r + ".png");
            try {
                ChartUtilities.saveChartAsPNG(sampleqcchart, qcchart, 500, 300);
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (chartbool) {
                sb.append(" <img src='/styles/images/samplesqcchart" + r + ".png'/>");
            }
        } else {
            sb.append("<h1>Sample Information</h1><br/><div class='report'>Nothing to Report.");
        }

    } else if (type.equals("Run")) {
        Boolean incAlias = false;
        Boolean incDescription = false;
        if (options.contains("Alias")) {
            incAlias = true;
        }
        if (options.contains("Description")) {
            incDescription = true;
        }

        if (reportables.size() == 1) {
            //Single Run report
            List reportableslist = new ArrayList<Reportable>(reportables);
            Reportable reportable = (Reportable) reportableslist.get(0);
            Run run = (Run) reportable;
            sb.append("<h1>Run Information</h1><br/><div class='report'>");
            sb.append("<b>Run Name: </b> " + run.getName());
            sb.append("<br/><br/>");
            sb.append("<b>Platform: </b> " + run.getPlatformType().getKey());
            sb.append("<br/><br/>");
            sb.append("<b>Sequencer: </b> " + run.getSequencerReference().getName());
            sb.append("<br/><br/>");
            if (incAlias) {
                sb.append("<b>Run Alias: </b> " + run.getAlias());
                sb.append("<br/><br/>");
            }
            if (incDescription) {
                sb.append("<b>Run Description: </b> " + run.getDescription());
                sb.append("<br/><br/>");
            }
            sb.append("<b>Pair End: </b> " + run.getPairedEnd().toString());
            sb.append("<br/><br/>");
            sb.append("<b>Status: </b> " + run.getStatus().getHealth().getKey());
            sb.append("<br/><br/>");

        }
        // Lists of Runs report
        else if (reportables.size() > 1) {
            sb.append("<h1>Runs Information</h1><br/><div class='report'>");
            Map<String, Integer> statusMap = new HashMap<String, Integer>();
            Map<String, Integer> platformMap = new HashMap<String, Integer>();
            sb.append(
                    "<table class=\"list\">\n" + "    <thead>\n" + "    <tr>\n" + "        <th>Run Name</th>\n"
                            + "        <th>Platform</th>\n" + "        <th>Sequencer</th>\n");
            if (incAlias) {
                sb.append("        <th>Run Alias</th>\n");
            }
            if (incDescription) {
                sb.append("        <th>Run Description</th>\n");
            }
            sb.append("        <th>Pair End</th>\n" + "        <th>Status</th>\n" + "    </tr>\n"
                    + "    </thead>\n" + "    <tbody>");
            for (Reportable reportable : reportables) {
                Run run = (Run) reportable;
                sb.append("<tr><td>" + run.getName());
                sb.append("</td>");
                sb.append("<td> " + run.getPlatformType().getKey());
                sb.append("</td>");
                sb.append("<td> " + run.getSequencerReference().getName());
                sb.append("</td>");
                if (incAlias) {
                    sb.append("<td> " + run.getAlias());
                    sb.append("</td>");
                }
                if (incDescription) {
                    sb.append("<td> " + run.getDescription());
                    sb.append("</td>");
                }
                sb.append("<td> " + run.getPairedEnd().toString());
                sb.append("</td>");
                sb.append("<td> " + run.getStatus().getHealth().getKey());
                sb.append("</td></tr>");

                int statuscount = statusMap.containsKey(run.getStatus().getHealth().getKey())
                        ? statusMap.get(run.getStatus().getHealth().getKey())
                        : 0;
                statuscount++;
                statusMap.put(run.getStatus().getHealth().getKey(), statuscount);

                int platformcount = platformMap.containsKey(run.getPlatformType().getKey())
                        ? platformMap.get(run.getPlatformType().getKey())
                        : 0;
                platformcount++;
                platformMap.put(run.getPlatformType().getKey(), platformcount);
            }
            sb.append("    </tbody>\n" + "</table>");
            Integer unknown = statusMap.containsKey("Unknown") ? statusMap.get("Unknown") : 0;
            Integer completed = statusMap.containsKey("Completed") ? statusMap.get("Completed") : 0;
            Integer failed = statusMap.containsKey("Failed") ? statusMap.get("Failed") : 0;
            Integer started = statusMap.containsKey("Started") ? statusMap.get("Started") : 0;
            Integer stopped = statusMap.containsKey("Stopped") ? statusMap.get("Stopped") : 0;
            Integer running = statusMap.containsKey("Running") ? statusMap.get("Running") : 0;

            //jfreechart for status
            final DefaultPieDataset data = new DefaultPieDataset();
            data.setValue("Unknown " + unknown, unknown);
            data.setValue("Completed " + completed, completed);
            data.setValue("Failed " + failed, failed);
            data.setValue("Started " + started, started);
            data.setValue("Stopped " + stopped, stopped);
            data.setValue("Running " + running, running);

            final JFreeChart chart = ChartFactory.createPieChart("Run Status Information", // chart title
                    data, // data
                    false, // include legend
                    true, false);

            final PiePlot plot = (PiePlot) chart.getPlot();
            plot.setStartAngle(290);
            plot.setDirection(Rotation.CLOCKWISE);
            plot.setBackgroundPaint(Color.white);
            plot.setForegroundAlpha(0.5f);
            plot.setNoDataMessage("No data to display");
            int r = generator.nextInt();
            File runchart = new File("../webapps/ROOT/styles/images/runsstatuschart" + r + ".png");
            try {
                ChartUtilities.saveChartAsPNG(runchart, chart, 500, 300);
            } catch (IOException e) {
                e.printStackTrace();
            }

            if (chartbool) {
                sb.append("<br/><img src='/styles/images/runsstatuschart" + r + ".png'/>");
            }

            //        Integer illumina = platformMap.containsKey("Illumina") ? platformMap.get("Illumina") : 0;
            //        Integer ls454 = platformMap.containsKey("LS454") ? platformMap.get("LS454") : 0;
            //        Integer solid = platformMap.containsKey("Solid") ? platformMap.get("Solid") : 0;

            //jfreechart for platform
            //        final DefaultPieDataset platformdata = new DefaultPieDataset();
            //        platformdata.setValue("Illumina "+illumina, illumina);
            //        platformdata.setValue("LS454 "+ls454, ls454);
            //        platformdata.setValue("Solid "+solid, solid);
            //
            //        final JFreeChart platformchart = ChartFactory.createPieChart(
            //          "Run Platform Information",  // chart title
            //          platformdata,                   // data
            //          false,                   // include legend
            //          true,
            //          false
            //        );
            //
            //        final PiePlot platformplot = (PiePlot) platformchart.getPlot();
            //        platformplot.setStartAngle(290);
            //        platformplot.setDirection(Rotation.CLOCKWISE);
            //        platformplot.setBackgroundPaint(Color.white);
            //        platformplot.setForegroundAlpha(0.5f);
            //        platformplot.setNoDataMessage("No data to display");
            //        File runplatformchart = new File("../webapps/ROOT/styles/images/runsplatformchart" + r + ".png");
            //        try {
            //          ChartUtilities.saveChartAsPNG(runplatformchart, platformchart, 500, 300);
            //        }
            //        catch (IOException e) {
            //          e.printStackTrace();
            //        }
            //        if (chartbool) {
            //          sb.append(" <img src='/styles/images/runsplatformchart" + r + ".png'/>");
            //        }
        } else {
            sb.append("<h1>Run Information</h1><br/><div class='report'>Nothing to Report.");
        }

    }

    // footer
    sb.append("</div>\n" + "<div id=\"footer\">\n" + "    <br/>\n" + "\n"
            + "    <p>&copy; 2010 -2011 <a href=\"http://www.tgac.bbsrc.ac.uk/\" target=\"_blank\">The Genome Analysis Centre</a></p>\n"
            + "</div>\n" + "</body></html>");
    // end of footer
    return sb.toString();

}

From source file:com.opensourcestrategies.activities.reports.ActivitiesChartsService.java

private String createPieChart(DefaultPieDataset dataset, String title)
        throws InfrastructureException, IOException {
    Debug.logInfo("Charting dashboard [" + title + "]", MODULE);
    // set up the chart
    JFreeChart chart = ChartFactory.createPieChart(title, dataset, true, // include legend
            true, // tooltips
            false // urls
    );//from  w  w w  .  j  av a 2s  .  co  m
    chart.setBackgroundPaint(Color.white);
    chart.setBorderVisible(true);
    chart.setPadding(new RectangleInsets(5.0, 5.0, 5.0, 5.0));

    // get a reference to the plot for further customization...
    final PiePlot plot = (PiePlot) chart.getPlot();
    plot.setBackgroundPaint(Color.white);
    plot.setCircular(true);
    plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}: {1} / {2}",
            NumberFormat.getNumberInstance(), NumberFormat.getPercentInstance()));
    plot.setNoDataMessage("No data available");

    Color[] colors = {
            Color.decode("#" + infrastructure.getConfigurationValue(
                    OpentapsConfigurationTypeConstants.ACTIVITIES_DASHBOARD_LEADS_NEW_COLOR)),
            Color.decode("#" + infrastructure.getConfigurationValue(
                    OpentapsConfigurationTypeConstants.ACTIVITIES_DASHBOARD_LEADS_OLD_COLOR)),
            Color.decode("#" + infrastructure.getConfigurationValue(
                    OpentapsConfigurationTypeConstants.ACTIVITIES_DASHBOARD_LEADS_NO_ACTIVITY_COLOR)) };
    for (int i = 0; i < dataset.getItemCount(); i++) {
        Comparable<?> key = dataset.getKey(i);
        plot.setSectionPaint(key, colors[i]);
    }

    // save as a png and return the file name
    return ServletUtilities.saveChartAsPNG(chart, chartWidth, chartHeight, null);
}

From source file:org.tiefaces.components.websheet.chart.ChartHelper.java

/**
 * Create jfree bar chart./*from   w  w w  .j a v  a  2  s  . c  om*/
 * 
 * @param chartData
 *            contain information gathered from excel chart object.
 * @return jfree line chart.
 */
public JFreeChart createPieChart(final ChartData chartData) {

    // create the chart...
    final JFreeChart chart = ChartFactory.createPieChart(getPieTitle(chartData), // chart title
            createPieDataset(chartData), // data
            true, // include legend
            false, // tooltips
            false // urls
    );

    setupPieStyle(chart, chartData);

    return chart;

}

From source file:UserInterfaces.HAdministration.ReportDataJPanel.java

private void sourcejButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_sourcejButton1ActionPerformed
    // TODO add your handling code here:
    int firsthandnumber = 0;
    int secondhandnumber = 0;

    // int workrequestSize = organization.getWorkQueue().getWorkRequestList().size();
    // WorkRequest lastRequest = organization.getWorkQueue().getWorkRequestList().get(workrequestSize - 1);
    for (WorkRequest workRequest : organization.getWorkQueue().getWorkRequestList()) {
        if (workRequest.getSource().toString().equals(Source.FIRST)) {
            firsthandnumber = firsthandnumber + 1;
        }//from  ww  w .j a v  a 2 s.c o m
        if (workRequest.getSource().toString().equals(Source.SECOND)) {
            secondhandnumber = secondhandnumber + 1;
        }
    }

    ReportToReporter report = organization.getReport();
    report.setFirsthandsource(firsthandnumber);
    report.setSecondhandsource(secondhandnumber);
    report.setStatus("success");

    DefaultPieDataset dataset = new DefaultPieDataset();
    dataset.setValue("First hand", firsthandnumber);
    dataset.setValue("Second hand", secondhandnumber);

    JFreeChart chart = ChartFactory.createPieChart("Source of Reports", dataset, true, true, true);

    PiePlot p = (PiePlot) chart.getPlot();

    ChartFrame chartFrame = new ChartFrame("Source of Reports", chart);
    chartFrame.setSize(450, 550);
    chartFrame.setVisible(true);

    for (Network network : es.getNetworkList()) {
        for (Enterprise e : network.getEd().getEnterprisesList()) {
            if (e.getOrgName().equals(enterprise.getOrgName())) {
                for (Enterprise en : network.getEd().getEnterprisesList()) {
                    if (en instanceof HospitalEnterprise || en instanceof ClinicEnterprise) {
                        en.setReport(report);
                    }
                }
            }
        }

    }

}

From source file:UserInterface.AdministrativeRole.ReportsJPanel.java

private void ReportActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ReportActionPerformed
    // TODO add your handling code here:
    int countBad = 0;
    int countGood = 0;
    int countExcellent = 0;
    for (Organization organization : enterprise.getOrganizationDirectory().getOrganizationList()) {
        if (organization instanceof AdminOrganization) {
            for (FarmerFeedbackWorkRequest request : organization.getFeedbackWorkQueue()
                    .getFarmerFeedbackList()) {

                if (request.getOverallRating().equalsIgnoreCase("Bad")) {
                    countBad++;//from w w  w . j ava2s. c  o m
                } else if (request.getOverallRating().equalsIgnoreCase("Good")) {
                    countGood++;
                } else if (request.getOverallRating().equalsIgnoreCase("Excellent")) {
                    countExcellent++;
                }
            }

            break;
        }
    }
    float total = countBad + countGood + countExcellent;
    float pGood = (countGood / total) * 100;
    float pBad = (countBad / total) * 100;
    float pExcellent = (countExcellent / total) * 100;

    DefaultPieDataset pieDataSet = new DefaultPieDataset();
    pieDataSet.setValue("Bad%: " + pBad, pGood);
    pieDataSet.setValue("Good%: " + pGood, pBad);
    pieDataSet.setValue("Excellent%: " + pExcellent, pExcellent);
    JFreeChart chart = ChartFactory.createPieChart("Overall Application Rating", pieDataSet, true, true, true);
    PiePlot plot = (PiePlot) chart.getPlot();
    ChartFrame frame = new ChartFrame("Overall Application Rating", chart);
    frame.setVisible(true);
    frame.setSize(500, 500);

}

From source file:com.modeln.build.ctrl.charts.CMnBuildListChart.java

/**
 * Generate a pie graph representing average test counts for each type of test for 
 * all builds in the list. /*from  w w  w .ja  v a 2s  . c om*/
 *
 * @param   builds  List of builds 
 * 
 * @return  Pie graph representing build execution times across all builds 
 */
public static final JFreeChart getAverageTestCountChart(Vector<CMnDbBuildData> builds) {
    JFreeChart chart = null;

    // Collect the average of all test types 
    Hashtable countAvg = new Hashtable();

    DefaultPieDataset dataset = new DefaultPieDataset();
    if ((builds != null) && (builds.size() > 0)) {

        // Collect build metrics for each of the builds in the list 
        Enumeration buildList = builds.elements();
        while (buildList.hasMoreElements()) {
            // Process the build metrics for the current build
            CMnDbBuildData build = (CMnDbBuildData) buildList.nextElement();
            Hashtable testSummary = build.getTestSummary();
            if ((testSummary != null) && (testSummary.size() > 0)) {
                Enumeration keys = testSummary.keys();
                while (keys.hasMoreElements()) {
                    String testType = (String) keys.nextElement();
                    CMnDbTestSummaryData tests = (CMnDbTestSummaryData) testSummary.get(testType);

                    Integer avgValue = null;
                    if (countAvg.containsKey(testType)) {
                        Integer oldAvg = (Integer) countAvg.get(testType);
                        avgValue = oldAvg + tests.getTotalCount();
                    } else {
                        avgValue = tests.getTotalCount();
                    }
                    countAvg.put(testType, avgValue);

                }
            }

        } // while list has elements

        // Populate the data set with the average values for each metric
        Enumeration keys = countAvg.keys();
        while (keys.hasMoreElements()) {
            String key = (String) keys.nextElement();
            Integer total = (Integer) countAvg.get(key);
            Integer avg = new Integer(total.intValue() / builds.size());
            dataset.setValue(key, avg);
        }

    } // if list has elements

    // API: ChartFactory.createPieChart(title, data, legend, tooltips, urls)
    chart = ChartFactory.createPieChart("Avg Test Count by Type", dataset, true, true, false);

    // get a reference to the plot for further customization...
    PiePlot plot = (PiePlot) chart.getPlot();
    chartFormatter.formatTypeChart(plot, "tests");

    return chart;
}