List of usage examples for org.jfree.chart ChartFactory createPieChart
public static JFreeChart createPieChart(String title, PieDataset dataset, boolean legend, boolean tooltips, boolean urls)
From source file:userInterface.SystemAdmin.PovertyAnalysisJPanel.java
private void crimeAnalysisJButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_crimeAnalysisJButtonActionPerformed JFreeChart pieChart = ChartFactory.createPieChart("Crminal Incidents", pireChartDataset, true, true, true); PiePlot plot = (PiePlot) pieChart.getPlot(); ChartFrame perFrame = new ChartFrame("Crminal Incidents By Network ", pieChart); perFrame.setVisible(true);// ww w. ja v a 2s .c o m perFrame.setSize(500, 500); }
From source file:banking.modules.salary_comp.java
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed // TODO add your handling code here: String Basic_salary = txtBasic.getText(); String House_all = txtHouse.getText(); String Dear_all = txtDearness.getText(); String Trans_all = txtTransport.getText(); String Ent_all = txtEntertainment.getText(); String Med_all = txtMedical.getText(); DefaultPieDataset pieDataset = new DefaultPieDataset(); pieDataset.setValue("Basic_salary", new Double(Basic_salary)); pieDataset.setValue("House_all", new Double(House_all)); pieDataset.setValue("Dear_all", new Double(Dear_all)); pieDataset.setValue("Trans_all", new Double(Trans_all)); pieDataset.setValue("Ent_all", new Double(Ent_all)); pieDataset.setValue("Med_all", new Double(Med_all)); JFreeChart chart = ChartFactory.createPieChart("Renumaration pie chart", pieDataset, true, true, true); PiePlot P = (PiePlot) chart.getPlot(); // P.setForegroundAlpha(TOP_ALIGNMENT); ChartFrame frame = new ChartFrame("SALARY DISTRIBUTION", chart); frame.setVisible(true);//from ww w .j a v a 2 s . c o m frame.setSize(450, 500); }
From source file:org.openmrs.web.controller.ConceptStatsFormController.java
/** * Called prior to form display. Allows for data to be put in the request to be used in the view * * @see org.springframework.web.servlet.mvc.SimpleFormController#referenceData(javax.servlet.http.HttpServletRequest) *///from w ww . jav a 2s . co m protected Map<String, Object> referenceData(HttpServletRequest request) throws Exception { Map<String, Object> map = new HashMap<String, Object>(); if (!Context.hasPrivilege("View Observations")) { return map; } MessageSourceAccessor msa = getMessageSourceAccessor(); Locale locale = Context.getLocale(); ConceptService cs = Context.getConceptService(); String conceptId = request.getParameter("conceptId"); //List<Obs> obs = new Vector<Obs>(); //List<Obs> obsAnswered = new Vector<Obs>(); if (conceptId != null) { Concept concept = cs.getConcept(Integer.valueOf(conceptId)); ObsService obsService = Context.getObsService(); if (concept != null) { // previous/next ids for links map.put("previousConcept", cs.getPrevConcept(concept)); map.put("nextConcept", cs.getNextConcept(concept)); //obs = obsService.getObservations(concept, "valueNumeric, obsId"); //obsAnswered = obsService.getObservationsAnsweredByConcept(concept); if (ConceptDatatype.NUMERIC.equals(concept.getDatatype().getHl7Abbreviation())) { map.put("displayType", "numeric"); List<Obs> numericAnswers = obsService.getObservations(null, null, Collections.singletonList(concept), null, Collections.singletonList(OpenmrsConstants.PERSON_TYPE.PERSON), null, Collections.singletonList("valueNumeric"), null, null, null, null, false); if (numericAnswers.size() > 0) { Double min = numericAnswers.get(0).getValueNumeric(); Double max = (Double) numericAnswers.get(numericAnswers.size() - 1).getValueNumeric(); Double median = (Double) numericAnswers.get(numericAnswers.size() / 2).getValueNumeric(); Map<Double, Integer> counts = new HashMap<Double, Integer>(); // counts for the histogram Double total = 0.0; // sum of values. used for mean // dataset setup for lineChart TimeSeries timeSeries = new TimeSeries(concept.getName().getName(), Day.class); TimeSeriesCollection timeDataset = new TimeSeriesCollection(); Calendar calendar = Calendar.getInstance(); // array for histogram double[] obsNumerics = new double[(numericAnswers.size())]; Integer i = 0; for (Obs obs : numericAnswers) { Date date = (Date) obs.getObsDatetime(); Double value = (Double) obs.getValueNumeric(); // for mean calculation total += value; // for histogram obsNumerics[i++] = value; Integer count = counts.get(value); counts.put(value, count == null ? 1 : count + 1); // for line chart calendar.setTime(date); Day day = new Day(calendar.get(Calendar.DAY_OF_MONTH), calendar.get(Calendar.MONTH) + 1, // January = 0 calendar.get(Calendar.YEAR) < 1900 ? 1900 : calendar.get(Calendar.YEAR) // jfree chart doesn't like the 19th century ); timeSeries.addOrUpdate(day, value); } Double size = new Double(numericAnswers.size()); Double mean = total / size; map.put("size", numericAnswers.size()); map.put("min", min); map.put("max", max); map.put("mean", mean); map.put("median", median); // create histogram chart HistogramDataset histDataset = new HistogramDataset(); // dataset for histogram histDataset.addSeries(concept.getName().getName(), obsNumerics, counts.size()); JFreeChart histogram = ChartFactory.createHistogram(concept.getName().getName(), msa.getMessage("Concept.stats.histogramDomainAxisTitle"), msa.getMessage("Concept.stats.histogramRangeAxisTitle"), histDataset, PlotOrientation.VERTICAL, false, true, false); map.put("histogram", histogram); if (size > 25) { // calculate 98th percentile of the data: Double x = 0.98; Integer xpercentile = (int) (x * size); Double upperQuartile = numericAnswers.get(xpercentile).getValueNumeric(); Double lowerQuartile = numericAnswers.get((int) (size - xpercentile)).getValueNumeric(); Double innerQuartile = upperQuartile - lowerQuartile; Double innerQuartileLimit = innerQuartile * 1.5; // outliers will be greater than this from the upper/lower quartile Double upperQuartileLimit = upperQuartile + innerQuartileLimit; Double lowerQuartileLimit = lowerQuartile - innerQuartileLimit; List<Obs> outliers = new Vector<Obs>(); // move outliers to the outliers list // removing lower quartile outliers for (i = 0; i < size - xpercentile; i++) { Obs possibleOutlier = numericAnswers.get(i); if (possibleOutlier.getValueNumeric() >= lowerQuartileLimit) { break; // quit if this value is greater than the lower limit } outliers.add(possibleOutlier); } // removing upper quartile outliers for (i = size.intValue() - 1; i >= xpercentile; i--) { Obs possibleOutlier = numericAnswers.get(i); if (possibleOutlier.getValueNumeric() <= upperQuartileLimit) { break; // quit if this value is less than the upper limit } outliers.add(possibleOutlier); } numericAnswers.removeAll(outliers); double[] obsNumericsOutliers = new double[(numericAnswers.size())]; i = 0; counts.clear(); for (Obs values : numericAnswers) { Double value = values.getValueNumeric(); obsNumericsOutliers[i++] = value; Integer count = counts.get(value); counts.put(value, count == null ? 1 : count + 1); } // create outlier histogram chart HistogramDataset outlierHistDataset = new HistogramDataset(); outlierHistDataset.addSeries(concept.getName().getName(), obsNumericsOutliers, counts.size()); JFreeChart histogramOutliers = ChartFactory.createHistogram(concept.getName().getName(), msa.getMessage("Concept.stats.histogramDomainAxisTitle"), msa.getMessage("Concept.stats.histogramRangeAxisTitle"), outlierHistDataset, PlotOrientation.VERTICAL, false, true, false); map.put("histogramOutliers", histogramOutliers); map.put("outliers", outliers); } // create line graph chart timeDataset.addSeries(timeSeries); JFreeChart lineChart = ChartFactory.createTimeSeriesChart(concept.getName().getName(), msa.getMessage("Concept.stats.lineChartDomainAxisLabel"), msa.getMessage("Concept.stats.lineChartRangeAxisLabel"), timeDataset, false, true, false); map.put("timeSeries", lineChart); } } else if (ConceptDatatype.BOOLEAN.equals(concept.getDatatype().getHl7Abbreviation())) { // create bar chart for boolean answers map.put("displayType", "boolean"); List<Obs> obs = obsService.getObservations(null, null, Collections.singletonList(concept), null, Collections.singletonList(OpenmrsConstants.PERSON_TYPE.PERSON), null, null, null, null, null, null, false); DefaultPieDataset pieDataset = new DefaultPieDataset(); // count the number of unique answers Map<String, Integer> counts = new HashMap<String, Integer>(); for (Obs o : obs) { Boolean answer = o.getValueAsBoolean(); if (answer == null) { answer = false; } String name = answer.toString(); Integer count = counts.get(name); counts.put(name, count == null ? 1 : count + 1); } // put the counts into the dataset for (Map.Entry<String, Integer> entry : counts.entrySet()) { pieDataset.setValue(entry.getKey(), entry.getValue()); } JFreeChart pieChart = ChartFactory.createPieChart(concept.getName().getName(), pieDataset, true, true, false); map.put("pieChart", pieChart); } else if (ConceptDatatype.CODED.equals(concept.getDatatype().getHl7Abbreviation())) { // create pie graph for coded answers map.put("displayType", "coded"); List<Obs> obs = obsService.getObservations(null, null, Collections.singletonList(concept), null, Collections.singletonList(OpenmrsConstants.PERSON_TYPE.PERSON), null, null, null, null, null, null, false); DefaultPieDataset pieDataset = new DefaultPieDataset(); // count the number of unique answers Map<String, Integer> counts = new HashMap<String, Integer>(); for (Obs o : obs) { Concept value = o.getValueCoded(); String name; if (value == null) { name = "[value_coded is null]"; } else { name = value.getName().getName(); } Integer count = counts.get(name); counts.put(name, count == null ? 1 : count + 1); } // put the counts into the dataset for (Map.Entry<String, Integer> entry : counts.entrySet()) { pieDataset.setValue(entry.getKey(), entry.getValue()); } JFreeChart pieChart = ChartFactory.createPieChart(concept.getName().getName(), pieDataset, true, true, false); map.put("pieChart", pieChart); } } } //map.put("obs", obs); //map.put("obsAnswered", obsAnswered); map.put("locale", locale.getLanguage().substring(0, 2)); return map; }
From source file:org.yccheok.jstock.gui.SellPortfolioChartJDialog.java
private JFreeChart createChart(String name) { final JStockOptions jStockOptions = JStock.instance().getJStockOptions(); final boolean isFeeCalculationEnabled = jStockOptions.isFeeCalculationEnabled(); final Portfolio portfolio = (Portfolio) portfolioTreeTableModel.getRoot(); final int count = portfolio.getChildCount(); DefaultPieDataset data = new DefaultPieDataset(); final List<DataEx> dataExs = new ArrayList<>(); for (int i = 0; i < count; i++) { TransactionSummary transactionSummary = (TransactionSummary) portfolio.getChildAt(i); if (transactionSummary.getChildCount() <= 0) { continue; }//from w w w .ja v a 2 s . c om Transaction transaction = (Transaction) transactionSummary.getChildAt(0); final Symbol symbol = transaction.getStock().symbol; final Code code = transaction.getStock().code; final boolean shouldConvertPenceToPound = org.yccheok.jstock.portfolio.Utils .shouldConvertPenceToPound(portfolioRealTimeInfo, code); /* Should use reflection technology. */ if (name.equals(cNames[0])) { if (shouldConvertPenceToPound == false) { if (isFeeCalculationEnabled) { dataExs.add(DataEx.newInstance(symbol.toString(), portfolioTreeTableModel.getNetGainLossValue(transactionSummary))); } else { dataExs.add(DataEx.newInstance(symbol.toString(), portfolioTreeTableModel.getGainLossValue(transactionSummary))); } } else { if (isFeeCalculationEnabled) { dataExs.add(DataEx.newInstance(symbol.toString(), portfolioTreeTableModel.getNetGainLossValue(transactionSummary) / 100.0)); } else { dataExs.add(DataEx.newInstance(symbol.toString(), portfolioTreeTableModel.getGainLossValue(transactionSummary) / 100.0)); } } } else if (name.equals(cNames[1])) { if (shouldConvertPenceToPound == false) { if (isFeeCalculationEnabled) { dataExs.add(DataEx.newInstance(symbol.toString(), -portfolioTreeTableModel.getNetGainLossValue(transactionSummary))); } else { dataExs.add(DataEx.newInstance(symbol.toString(), -portfolioTreeTableModel.getGainLossValue(transactionSummary))); } } else { if (isFeeCalculationEnabled) { dataExs.add(DataEx.newInstance(symbol.toString(), -portfolioTreeTableModel.getNetGainLossValue(transactionSummary) / 100.0)); } else { dataExs.add(DataEx.newInstance(symbol.toString(), -portfolioTreeTableModel.getGainLossValue(transactionSummary) / 100.0)); } } } else if (name.equals(cNames[2])) { if (isFeeCalculationEnabled) { dataExs.add(DataEx.newInstance(symbol.toString(), portfolioTreeTableModel.getNetGainLossPercentage(transactionSummary))); } else { dataExs.add(DataEx.newInstance(symbol.toString(), portfolioTreeTableModel.getGainLossPercentage(transactionSummary))); } } else if (name.equals(cNames[3])) { if (isFeeCalculationEnabled) { dataExs.add(DataEx.newInstance(symbol.toString(), -portfolioTreeTableModel.getNetGainLossPercentage(transactionSummary))); } else { dataExs.add(DataEx.newInstance(symbol.toString(), -portfolioTreeTableModel.getGainLossPercentage(transactionSummary))); } } else if (name.equals(cNames[4])) { Double value = this.codeToTotalDividend.get(code); if (value != null) { if (value.doubleValue() > 0.0) { dataExs.add(DataEx.newInstance(symbol.toString(), this.codeToTotalDividend.get(code))); } } } else if (name.equals(cNames[5])) { if (shouldConvertPenceToPound == false) { if (isFeeCalculationEnabled) { dataExs.add(DataEx.newInstance(symbol.toString(), transactionSummary.getNetTotal())); } else { dataExs.add(DataEx.newInstance(symbol.toString(), transactionSummary.getTotal())); } } else { if (isFeeCalculationEnabled) { dataExs.add( DataEx.newInstance(symbol.toString(), transactionSummary.getNetTotal() / 100.0)); } else { dataExs.add(DataEx.newInstance(symbol.toString(), transactionSummary.getTotal() / 100.0)); } } } else if (name.equals(cNames[6])) { if (shouldConvertPenceToPound == false) { if (isFeeCalculationEnabled) { dataExs.add( DataEx.newInstance(symbol.toString(), transactionSummary.getNetReferenceTotal())); } else { dataExs.add(DataEx.newInstance(symbol.toString(), transactionSummary.getReferenceTotal())); } } else { if (isFeeCalculationEnabled) { dataExs.add(DataEx.newInstance(symbol.toString(), transactionSummary.getNetReferenceTotal() / 100.0)); } else { dataExs.add(DataEx.newInstance(symbol.toString(), transactionSummary.getReferenceTotal() / 100.0)); } } } else if (name.equals(cNames[7])) { dataExs.add(DataEx.newInstance(symbol.toString(), transactionSummary.getQuantity())); } else if (name.equals(cNames[8])) { dataExs.add(DataEx.newInstance(symbol.toString(), transactionSummary.getBroker())); } else if (name.equals(cNames[9])) { dataExs.add(DataEx.newInstance(symbol.toString(), transactionSummary.getStampDuty())); } else if (name.equals(cNames[10])) { dataExs.add(DataEx.newInstance(symbol.toString(), transactionSummary.getClearingFee())); } } Collections.sort(dataExs); for (DataEx dataEx : dataExs) { // Selling value can be negative sometimes. if (dataEx.value <= 0) { continue; } data.setValue(dataEx.data, dataEx.value); } // create a chart... return ChartFactory.createPieChart(name, data, true, true, true); }
From source file:com.jd.survey.web.statistics.StatisticsController.java
@Secured({ "ROLE_ADMIN", "ROLE_SURVEY_ADMIN" }) private JFreeChart createChart(PieDataset pieDataset, String title) { try {/*from www . j a v a 2 s .co m*/ JFreeChart chart = ChartFactory.createPieChart(title, pieDataset, false, true, false); chart.setBackgroundPaint(null);//this line necessary for transparency of background final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setOpaque(false); //this line necessary for transparency of background chartPanel.setBackground(new Color(0, 0, 0, 0)); //this line necessary for transparency of background PiePlot plot = (PiePlot) chart.getPlot(); //Color[] colors = {new Color(170, 195, 217, 255),new Color(246, 140, 31, 255),new Color(204, 204, 204, 255),new Color(231, 238, 144, 255),new Color(51, 51, 51, 255),new Color(101, 125, 151, 255),new Color(0, 102, 255, 255)}; //PieRenderer renderer = new PieRenderer(colors); //renderer.setColor(plot, pieDataset); PieSectionLabelGenerator generator = new StandardPieSectionLabelGenerator("{0}:{1}%"); plot.setLabelGenerator(generator); plot.setStartAngle(270); plot.setDirection(Rotation.CLOCKWISE); return chart; } catch (Exception e) { log.error(e.getMessage(), e); throw (new RuntimeException(e)); } }
From source file:userinterface.EnvironmentRole.PollutionCheckJPanel.java
private void btnSincereCarOwnerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSincereCarOwnerActionPerformed DefaultPieDataset pieDataset = new DefaultPieDataset(); // int f = 0; for (Organization organization : enterprise.getOrganizationDirectory().getOrganizationList()) { if (organization instanceof CarOwnerOrganization) { for (UserAccount userAccount : ((CarOwnerOrganization) organization).getUserAccountDirectory() .getUserAccountList()) { int f = 0; for (WorkRequest request : environmentOrganization.getWorkQueue().getWorkRequestList()) { if (request.getSender() == userAccount) { f = f + ((EnvironmentWorkRequest) request).getFine(); }//from w w w . j a v a 2 s . com } pieDataset.setValue(userAccount.getEmployee().getName(), f); } } } JFrame frame = new JFrame("PieChart"); frame.setSize(600, 400); frame.setVisible(true); JFreeChart pieChart = ChartFactory.createPieChart("Best Car Owner in terms of fine charged", // Title pieDataset, // Dataset true, // Show legend true, // Use tooltips false // Configure chart to generate URLs? ); ChartPanel cp1 = new ChartPanel(pieChart); frame.getContentPane().add(cp1); }
From source file:GUI.GUI_reporting.java
private void btnLancerStatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLancerStatActionPerformed // TODO add your handling code here: // faire la requete sql et ranger les variables aux bon endroits JDialog reponse = new JDialog(); DefaultPieDataset pieDataset = new DefaultPieDataset(); final DefaultCategoryDataset dataset = new DefaultCategoryDataset(); String text = ""; String Infox = ""; String Infoy = ""; switch (action) {//////////////////:Pie charts////////////////////////////////////// case 1:/* w ww .j a v a2 s.c o m*/ //set values pieDataset.setValue("de 700 1100", getEmployeParSalaire(1)); pieDataset.setValue("de 1100 1300", getEmployeParSalaire(2)); pieDataset.setValue("de 1300 1700", getEmployeParSalaire(3)); pieDataset.setValue("Plus de 1700", getEmployeParSalaire(4)); text = "Nombre d'employs par tranche de salaire"; break; case 2: //set values pieDataset.setValue("REA", getEmployeParService(1)); pieDataset.setValue("CHG", getEmployeParService(2)); pieDataset.setValue("CAR", getEmployeParService(3)); text = "Nombre d'employs par service"; break; case 3: //set values pieDataset.setValue("Anesthesiste", getEmployeParSpecialite(1)); pieDataset.setValue("Cardiologue", getEmployeParSpecialite(2)); pieDataset.setValue("Generaliste", getEmployeParSpecialite(3)); pieDataset.setValue("Orthopediste", getEmployeParSpecialite(4)); pieDataset.setValue("Pneumologue", getEmployeParSpecialite(5)); pieDataset.setValue("Radiologue", getEmployeParSpecialite(6)); pieDataset.setValue("Traumatologue", getEmployeParSpecialite(7)); text = "Nombre d'employs par spcialit"; break; case 4: //set values pieDataset.setValue("Jour", getEmployeRotation(1)); pieDataset.setValue("Nuit", getEmployeRotation(2)); text = "Nombre d'employs par rotation"; break; /// diagrammes en barre///////////////////////////// case 5: //dataset.addValue(WIDTH, WIDTH, action); final String REA = "Moyenne pour REA"; final String CHG = "Moyenne pour CHG"; final String CAR = "Moyenne pour CAR"; final String salaire = "salaire"; dataset.addValue(getSalaireParService(1), salaire, REA); dataset.addValue(getSalaireParService(2), salaire, CHG); dataset.addValue(getSalaireParService(3), salaire, CAR); Infox = "service"; Infoy = "salaire"; text = "Salaire moyen par service"; break; case 6: //set values final String malade = "Malade"; final String rea = "REA"; final String chg = "CHG"; final String car = "CAR"; dataset.addValue(getMaladeParService(1), malade, rea); dataset.addValue(getMaladeParService(2), malade, chg); dataset.addValue(getMaladeParService(3), malade, car); Infox = "Service"; Infoy = "Nombre de malades"; text = "Nombre de malade par service"; break; case 7: //set values final String MAAF = "MAAF"; final String MNAM = "MNAM"; final String LMDE = "LMDE"; final String MNH = "MNH"; final String MGEN = "MGEN"; final String MMA = "MMA"; final String CNAMTS = "CNAMTS"; final String CCVRP = "CCVRP"; final String MAS = "MAS"; final String AG2R = "AG2R"; final String MNFTC = "MNFTC"; final String MGSP = "MGSP"; final String salaire0 = "Mutuelle"; Infox = "Mutuelle"; Infoy = "Malades"; text = "Nombre de malades par mutuelle"; // / init dataset.addValue(getMaladeParMutuelle(1), salaire0, MAAF); dataset.addValue(getMaladeParMutuelle(2), salaire0, MNAM); dataset.addValue(getMaladeParMutuelle(3), salaire0, LMDE); dataset.addValue(getMaladeParMutuelle(4), salaire0, MNH); dataset.addValue(getMaladeParMutuelle(5), salaire0, MGEN); dataset.addValue(getMaladeParMutuelle(6), salaire0, MMA); dataset.addValue(getMaladeParMutuelle(7), salaire0, CNAMTS); dataset.addValue(getMaladeParMutuelle(8), salaire0, CCVRP); dataset.addValue(getMaladeParMutuelle(9), salaire0, MAS); dataset.addValue(getMaladeParMutuelle(10), salaire0, AG2R); dataset.addValue(getMaladeParMutuelle(11), salaire0, MNFTC); dataset.addValue(getMaladeParMutuelle(12), salaire0, MGSP); break; case 8: //set values final String malades = "Chambre"; final String reas = "REA"; final String chgs = "CHG"; final String cars = "CAR"; dataset.addValue(getChambreParService(1), malades, reas); dataset.addValue(getChambreParService(2), malades, chgs); dataset.addValue(getChambreParService(3), malades, cars); Infox = "Service"; Infoy = "Nombre de chambre"; text = "Nombre de chambre par service"; break; default: break; } // Piechart if (action > 0 && action < 5) { final JFreeChart pieChart = ChartFactory.createPieChart(text, pieDataset, true, false, false); final ChartPanel cPanel = new ChartPanel(pieChart); reponse.add(cPanel); reponse.pack(); //panelHistogramme.pack(); reponse.setVisible(true); } //Histogramme if (action > 4 && action < 11) { final JFreeChart barChart = ChartFactory.createBarChart(text, Infox, Infoy, dataset, PlotOrientation.VERTICAL, true, true, false); final ChartPanel cPanel = new ChartPanel(barChart); reponse.add(cPanel); reponse.pack(); //panelHistogramme.pack(); reponse.setVisible(true); } /* DefaultPieDataset pieDataset = new DefaultPieDataset(); pieDataset.setValue("Valeur1", new Integer(27)); pieDataset.setValue("Valeur2", new Integer(10)); pieDataset.setValue("Valeur3", new Integer(50)); pieDataset.setValue("Valeur4", new Integer(5)); JFreeChart pieChart = ChartFactory.createPieChart("Test camembert",pieDataset, true, true, true); ChartPanel cPanel = new ChartPanel(pieChart); panelHistogramme.add(cPanel); */ }
From source file:org.adempiere.apps.graph.ChartBuilder.java
private JFreeChart createPieChart() { final JFreeChart chart = ChartFactory.createPieChart(chartModel.get_Translation(MChart.COLUMNNAME_Name), getPieDataset(), false, true, true); return chart; }
From source file:org.pau.assetmanager.viewmodel.MonthlyReportViewModel.java
/** * Generates the image of a pie chart that displays the percentage of * expenses of the different books which for a given year are loosing money * (not profitable)/*from w ww.j av a 2 s . c o m*/ * * @return the relative random URL generated */ @DependsOn({ "selectedBook", "clientType", "monthlyReportYear" }) public String getDeficitPieChartURL() { if (bookSelection.getSelectedBook() == null) { return ""; } List<Annotation> anotations = getAnnotationsInAscendingDateOrder(Optional.of(monthlyReportYear)); PieDataset categoryModel = ChartDataModel.deficitsPieChartDataset(anotations); JFreeChart jfchart = ChartFactory.createPieChart( "Dficit ( ingresos menos gastos, siendo los gastos mayores a los ingresos )", categoryModel, true, true, false); PiePlot piePlot = ((PiePlot) jfchart.getPlot()); piePlot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} (-{1} , {2} )", NumberFomatter.PERCENTAGE_FORMATTER, NumberFormat.getPercentInstance())); piePlot.setBackgroundPaint(Color.white); return ResourceImageGenerator.getFunction().apply(jfchart); }
From source file:com.NewJFrame.java
private static JFreeChart createPieChart(PieDataset dataset) { JFreeChart chart = ChartFactory.createPieChart("Chart Title", // chart title dataset, // data true, // include legend true, false);/* ww w. ja va2 s .c om*/ PiePlot plot = (PiePlot) chart.getPlot(); plot.setSectionOutlinesVisible(false); plot.setNoDataMessage("No data available"); PieSectionLabelGenerator gen = new StandardPieSectionLabelGenerator("{0}: {2}", new DecimalFormat("0"), new DecimalFormat("0%")); plot.setLabelGenerator(gen); return chart; }