List of usage examples for org.jfree.chart.plot PiePlot setDirection
public void setDirection(Rotation direction)
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;//from w w w .j a va2s .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 www . j av a2 s .co 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);//from w w w.j a v a2 s. com PiePlot plot = (PiePlot) chart.getPlot(); plot.setStartAngle(290); plot.setDirection(Rotation.CLOCKWISE); plot.setForegroundAlpha(0.5f); return chart; }
From source file:gavisualizer.PieChart.java
@Override public void generate() { // Creates Pie Chart from variables JFreeChart chart = ChartFactory.createPieChart(_title, // chart title _dataset, // data false, // include legend false, false);/* www. j ava 2s . com*/ // Set Plot canvas color and direction PiePlot plot = (PiePlot) chart.getPlot(); plot.setDirection(Rotation.CLOCKWISE); plot.setForegroundAlpha(0.5f); plot.setBackgroundPaint(Color.WHITE); /* * Use these to edit the decimal percentage: * NumberFormat nf = NumberFormat.getPercentInstance(); * nf.setRoundingMode(RoundingMode.); * nf.setMinimumFractionDigits(2); * plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} {2}", NumberFormat.getNumberInstance(), nf)); * * And remove line 63 */ plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} {2}")); plot.setOutlinePaint(Color.white); _chart = chart; }
From source file:gui.images.ClassifierResultPanel.java
/** * Sets the new results for display./* ww w . j av a2 s. c om*/ * * @param prediction Float array corresponding to the classifier prediction. * @param classifierName String that is the classifier name. * @param classColors Color array representing the class color. * @param classNames String array representing the class names. */ public void setResults(float[] prediction, String classifierName, Color[] classColors, String[] classNames) { int numClasses = classNames.length; DefaultPieDataset pieData = new DefaultPieDataset(); for (int cIndex = 0; cIndex < numClasses; cIndex++) { pieData.setValue(classNames[cIndex], prediction[cIndex]); } JFreeChart chart = ChartFactory.createPieChart3D(classifierName + " prediction", pieData, true, true, false); PiePlot plot = (PiePlot) chart.getPlot(); plot.setDirection(Rotation.CLOCKWISE); plot.setForegroundAlpha(0.5f); PieRenderer prend = new PieRenderer(classColors); prend.setColor(plot, pieData); ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new Dimension(140, 140)); resultChartPanel.removeAll(); resultChartPanel.add(chartPanel); resultChartPanel.revalidate(); resultChartPanel.repaint(); }
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()); }/*from www. j a v a2s.c o m*/ 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:org.codehaus.mojo.dashboard.report.plugin.chart.PieChartRenderer.java
public void createChart() { PieDataset dataset = (PieDataset) this.datasetStrategy.getDataset(); report = ChartFactory.createPieChart(this.datasetStrategy.getTitle(), dataset, true, true, false); PiePlot plot = (PiePlot) report.getPlot(); // plot.setCircular( false ); plot.setDirection(Rotation.ANTICLOCKWISE); /*// w w w . ja v a2 s .co m * plot.setExplodePercent(0, 0.15D); plot.setExplodePercent(1, 0.15D); */ // plot.setInteriorGap( PieChartRenderer.INTERIOR_GAP ); plot.setLabelFont(new Font("Lucida", 0, PieChartRenderer.FONT_SIZE)); plot.setLabelGap(PieChartRenderer.LABEL_GAP); plot.setNoDataMessage("No data available"); plot.setStartAngle(PieChartRenderer.START_ANGLE); Paint[] paints = this.datasetStrategy.getPaintColor(); for (int i = 0; i < dataset.getItemCount() && i < paints.length; i++) { plot.setSectionPaint(dataset.getKey(i), paints[i]); } }
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;// ww w. j av a2 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/µ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:gui.images.CodebookVectorProfilePanel.java
/** * Sets the data to be shown./* w w w. j av a 2 s . c om*/ * * @param occurrenceProfile Double array that is the neighbor occurrence * profile of this visual word. * @param codebookIndex Integer that is the index of this visual word. * @param classColors Color[] of class colors. * @param classNames String[] of class names. */ public void setResults(double[] occurrenceProfile, int codebookIndex, Color[] classColors, String[] classNames) { int numClasses = Math.min(classNames.length, occurrenceProfile.length); this.codebookIndex = codebookIndex; this.occurrenceProfile = occurrenceProfile; DefaultPieDataset pieData = new DefaultPieDataset(); for (int cIndex = 0; cIndex < numClasses; cIndex++) { pieData.setValue(classNames[cIndex], occurrenceProfile[cIndex]); } JFreeChart chart = ChartFactory.createPieChart3D("codebook vect " + codebookIndex, pieData, true, true, false); PiePlot plot = (PiePlot) chart.getPlot(); plot.setDirection(Rotation.CLOCKWISE); plot.setForegroundAlpha(0.5f); PieRenderer prend = new PieRenderer(classColors); prend.setColor(plot, pieData); ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new Dimension(140, 140)); chartPanel.setVisible(true); chartPanel.revalidate(); chartPanel.repaint(); JPanel jp = new JPanel(); jp.setPreferredSize(new Dimension(140, 140)); jp.setMinimumSize(new Dimension(140, 140)); jp.setMaximumSize(new Dimension(140, 140)); jp.setSize(new Dimension(140, 140)); jp.setLayout(new FlowLayout()); jp.add(chartPanel); jp.setVisible(true); jp.validate(); jp.repaint(); JFrame frame = new JFrame(); frame.setBackground(Color.WHITE); frame.setUndecorated(true); frame.getContentPane().add(jp); frame.pack(); BufferedImage bi = new BufferedImage(jp.getWidth(), jp.getHeight(), BufferedImage.TYPE_INT_ARGB); Graphics2D graphics = bi.createGraphics(); jp.print(graphics); graphics.dispose(); frame.dispose(); imPanel.removeAll(); imPanel.setImage(bi); imPanel.setVisible(true); imPanel.revalidate(); imPanel.repaint(); }
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);/* w w w.j a va 2s . 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; }