List of usage examples for org.jfree.chart.plot PiePlot setStartAngle
public void setStartAngle(double angle)
From source file:utils.Graphs.java
public static File generate(File baseFolder, String titles[], int[] values, Color backgroundColor) { DefaultPieDataset dataset = new DefaultPieDataset(); // add our data values int i = -1;// w w w.j a va 2s . c o m for (String title : titles) { i++; dataset.setValue(title, values[i]); } final JFreeChart chart = // ChartFactory.createPieChart("", dataset, true, true, false); ChartFactory.createPieChart("", // chart title dataset, // data true, // include legend true, false); PiePlot plot = (PiePlot) chart.getPlot(); //PiePlot3D plot = (PiePlot3D) chart.getPlot(); //plot.setStartAngle(290); plot.setStartAngle(45); plot.setDirection(Rotation.CLOCKWISE); plot.setForegroundAlpha(0.5f); // final PiePlot plot = (PiePlot) chart.getPlot(); plot.setBackgroundPaint(backgroundColor); // plot.setLegendLabelGenerator( // new StandardPieSectionLabelGenerator("{0} {2}")); chart.setBorderVisible(false); chart.getPlot().setOutlineVisible(false); chart.getLegend().setFrame(BlockBorder.NONE); // get the same background chart.setBackgroundPaint(backgroundColor); chart.getLegend().setBackgroundPaint(backgroundColor); // hide the shadow effects plot.setShadowXOffset(0); plot.setShadowYOffset(0); //chart.getLegend().setVisible(false); plot.setCircular(true); //plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} {2}", NumberFormat.getNumberInstance(), NumberFormat plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{2}", NumberFormat.getNumberInstance(), NumberFormat.getPercentInstance())); plot.setNoDataMessage("No data found."); Color greenColor = new Color(0x8FBC0C); Color redColor = new Color(0xFF0000); //Color redColor = new Color(0xDA6022); plot.setSectionPaint(0, greenColor); plot.setSectionPaint(1, redColor); plot.setSectionOutlinesVisible(true); final ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection()); final File file = new File(baseFolder, "chart.png"); try { ChartUtilities.saveChartAsPNG(file, chart, 200, 160, info); } catch (IOException ex) { Logger.getLogger(Graphs.class.getName()).log(Level.SEVERE, null, ex); } // //// final ChartPanel chartPanel = new ChartPanel(chart, true); // final ChartPanel chartPanel = new ChartPanel(chart, true); // chartPanel.setMinimumDrawWidth(0); // chartPanel.setMaximumDrawWidth(Integer.MAX_VALUE); // chartPanel.setMinimumDrawHeight(0); // chartPanel.setMaximumDrawHeight(Integer.MAX_VALUE); // JDialog dialog = new JDialog(); // dialog.add(chartPanel); // dialog.setLayout(new GridLayout(1, 1)); // dialog.setSize(400, 200); // dialog.setVisible(true); return file; }
From source file:com.ouc.cpss.view.SupTradeChartBuilder.java
private static JFreeChart createJFreeChart(PieDataset dataset) { /**/*from ww w .ja v a2 s . c o m*/ * JFreeChart */ //? StandardChartTheme standardChartTheme = new StandardChartTheme("CN"); // standardChartTheme.setExtraLargeFont(new Font("", Font.BOLD, 20)); // standardChartTheme.setRegularFont(new Font("", Font.PLAIN, 15)); //? standardChartTheme.setLargeFont(new Font("", Font.PLAIN, 15)); //? ChartFactory.setChartTheme(standardChartTheme); //?? //createPieChart 2D; createPieChart3D 3D JFreeChart chart = ChartFactory.createPieChart("", dataset, true, true, false); //,? chart.setTitle(new TextTitle("", new Font("", Font.ITALIC, 22))); //? LegendTitle legend = chart.getLegend(0); //,ture,? legend.setItemFont(new Font("", Font.BOLD, 20)); //?(??) PiePlot plot = (PiePlot) chart.getPlot(); //?==? plot.setLabelFont(new Font("", Font.BOLD, 22)); // plot.setBaseSectionOutlinePaint(Color.BLUE); // plot.setBaseSectionOutlineStroke(new BasicStroke(0.5f)); //?,??,?? plot.setDirection(Rotation.CLOCKWISE);//,Rotation.CLOCKWISE //() plot.setStartAngle(70); //??? //plot.setExplodePercent(1, 0.5D); //plot.setExplodePercent("One", 0.5D); //,3D? plot.setExplodePercent(dataset.getKey(0), 0.1d); // plot.setLabelLinkPaint(Color.BLUE); // plot.setLabelOutlinePaint(Color.black); // plot.setLabelShadowPaint(Color.RED); // plot.setSectionPaint(1, Color.BLACK); // :,{0},{1},{2}?,??? plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}:{1}\r\n{2}", NumberFormat.getNumberInstance(), new DecimalFormat("0.00%"))); // plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}={2}")); //:(true),(false) plot.setCircular(true); //? plot.setNoDataMessage("??..."); //??? plot.setToolTipGenerator(new StandardPieToolTipGenerator()); // //plot.setURLGenerator(new StandardPieURLGenerator("detail.jsp")); return chart; }
From source file:com.insa.tp3g1.esbsimulator.view.PieChart.java
/** * Creates a chart */ private JFreeChart createChart(PieDataset dataset, String title) { JFreeChart chart = ChartFactory.createPieChart(title, // chart title dataset, // data true, // include legend true, false);/*w w w. j a v a 2s . c o m*/ PiePlot plot = (PiePlot) chart.getPlot(); plot.setStartAngle(290); plot.setDirection(Rotation.CLOCKWISE); plot.setForegroundAlpha(0.5f); return chart; }
From source file:ca.sqlpower.wabit.swingui.chart.effect.PieChartAnimator.java
@Override protected void doFrame(int frame, double pct) { JFreeChart pieChart = mpplot.getPieChart(); PiePlot plot = (PiePlot) pieChart.getPlot(); plot.setStartAngle(spinInterpolator.value(initialAngle, finalAngle, pct)); plot.setForegroundAlpha((float) alphaInterpolator.value(0.0, 1.0, pct)); // need to trigger a repaint, because the pie plot is just a stamper mpplot.datasetChanged(new DatasetChangeEvent(pieChart, mpplot.getDataset())); }
From source file:name.martingeisse.reporting.definition.keycount.UnboundChartBlock.java
@Override public ChartBlock bindToData(final DataSources dataSources) { // generate the dataset from the query DefaultPieDataset dataset = new DefaultPieDataset(); IKeyCountResultSet resultSet = query.bindToData(dataSources); while (resultSet.next()) { KeyCountEntry entry = resultSet.get(); dataset.setValue(entry.getKey(), entry.getCount()); }/* w w w . j ava2 s . c om*/ resultSet.close(); // generate the chart JFreeChart chart = ChartFactory.createPieChart("My Title", dataset, true, true, false); PiePlot plot = (PiePlot) chart.getPlot(); plot.setStartAngle(290); plot.setDirection(Rotation.CLOCKWISE); plot.setForegroundAlpha(0.8f); return new ChartBlock(chart); }
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;/*w w w . ja v a2 s. com*/ 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/µ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/µ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>© 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:co.udea.edu.proyectointegrador.gr11.parqueaderoapp.domain.stadistics.graphics.implement.Grafica.java
@Override public JFreeChart createPieToUserType(List<TipoUsuarioEstadistica> tipoUsuarios) { //Se crea el conjunto de datos para el tipo de usuario PieDataset dataset = createDataForUserType(tipoUsuarios); JFreeChart pie = ChartFactory.createPieChart3D(TITLE_OF_PIE_CHART, //Titulo del grafigo dataset, //Conjunto de datos true, //Incluir leyenda true, false);//from w w w .j av a 2 s . c o m PiePlot piePlot = (PiePlot) pie.getPlot(); piePlot.setStartAngle(200); piePlot.setDirection(Rotation.CLOCKWISE); piePlot.setForegroundAlpha(0.5f); piePlot.setNoDataMessage(NO_DATA_TO_DISPLAY); return pie; }
From source file:com.orange.atk.atkUI.coregui.StatisticTool.java
/** * Creates the chart.// w w w . j a va2s . c om * * @param piedataset * the data set * @return the created chart */ private JFreeChart createChart(PieDataset piedataset) { JFreeChart jfreechart = ChartFactory.createPieChart3D("", piedataset, true, true, false); jfreechart.setBackgroundPaint(Color.lightGray); PiePlot pie3dplot = (PiePlot) jfreechart.getPlot(); pie3dplot.setStartAngle(0); pie3dplot.setDirection(Rotation.CLOCKWISE); pie3dplot.setForegroundAlpha(0.5F); pie3dplot.setNoDataMessage("No data to display"); pie3dplot.setSectionPaint(0, Color.GREEN);// passed pie3dplot.setSectionPaint(1, Color.RED);// failed pie3dplot.setSectionPaint(2, Color.ORANGE);// skipped pie3dplot.setSectionPaint(3, Color.LIGHT_GRAY);// not analysed pie3dplot.setToolTipGenerator(new MyToolTipGenerator()); pie3dplot.setLabelGenerator(new MySectionLabelGenerator()); pie3dplot.setLegendLabelGenerator(new MySectionLabelGenerator()); return jfreechart; }
From source file:fr.gouv.diplomatie.applitutoriel.utility.Graphique.java
/** * Creer camember3 d./*w w w .ja va2 s . c o m*/ * * @param title * the title * @param dataset * the dataset * @param legend * the legend * @param tooltips * the tooltips * @param urls * the urls * @return the j free chart * @throws FontFormatException * the font format exception * @throws IOException * Signals that an I/O exception has occurred. */ public static JFreeChart creerCamember3D(final String title, final DefaultPieDataset dataset, final boolean legend, final boolean tooltips, final boolean urls) throws FontFormatException, IOException { dataset.sortByValues(SortOrder.DESCENDING); final JFreeChart jfreeChart = ChartFactory.createPieChart3D(title, dataset, legend, tooltips, urls); jfreeChart.setBackgroundPaint(Color.white); jfreeChart.setBorderVisible(true); jfreeChart.getLegend().setPosition(RectangleEdge.LEFT); final GraphicsEnvironment graph = GraphicsEnvironment.getLocalGraphicsEnvironment(); final InputStream inputStream = Thread.currentThread().getContextClassLoader() .getResourceAsStream("hornet/framework/font/LiberationSans-Bold.ttf"); final Font font = Font.createFont(Font.TRUETYPE_FONT, inputStream); graph.registerFont(font); jfreeChart.getLegend().setItemFont(new Font("Liberation Sans", Font.BOLD, 11)); jfreeChart.getLegend().setHeight(400); jfreeChart.getLegend().setBorder(0, 0, 0, 0); jfreeChart.setTitle(new TextTitle(title, new Font("Liberation Sans", Font.BOLD, 16))); final PiePlot piePlot = (PiePlot) jfreeChart.getPlot(); final int nbData = dataset.getItemCount(); int cptColor = 0; for (int x = 0; x < nbData; x++) { if (cptColor >= listColor.size()) { cptColor = 0; } piePlot.setSectionPaint(dataset.getKey(x), listColor.get(cptColor)); cptColor++; } piePlot.setForegroundAlpha(0.5f); piePlot.setLabelFont(new Font("Liberation Sans", Font.BOLD, 12)); piePlot.setLabelOutlineStroke(null); piePlot.setLabelLinkStroke(new BasicStroke(0.4f)); piePlot.setLabelBackgroundPaint(Color.WHITE); piePlot.setLabelLinkStyle(PieLabelLinkStyle.STANDARD); piePlot.setBackgroundAlpha(0); piePlot.setOutlineVisible(false); piePlot.setForegroundAlpha(1); // transparence piePlot.setInteriorGap(0); // le camembert occupe plus de place piePlot.setLabelGenerator(new StandardPieSectionLabelGenerator("{1}")); piePlot.setStartAngle(70); piePlot.setCircular(true); // force pour avoir un cercle et pas un oval piePlot.setMaximumLabelWidth(0.20); piePlot.setBaseSectionOutlinePaint(Color.BLACK); // bordure du camembert 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); plot.setDirection(Rotation.ANTICLOCKWISE); plot.setNoDataMessage("No hay votos"); try {//from w ww.j av a 2s. com 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; }