List of usage examples for org.jfree.data.general DefaultPieDataset setValue
public void setValue(Comparable key, double value)
From source file:com.manydesigns.portofino.chart.Chart1DGenerator.java
public JFreeChart generate(ChartDefinition chartDefinition, Persistence persistence, Locale locale) { DefaultPieDataset dataset = new DefaultPieDataset(); java.util.List<Object[]> result; String query = chartDefinition.getQuery(); logger.info(query);//from ww w . j a v a2s . c o m Session session = persistence.getSession(chartDefinition.getDatabase()); result = QueryUtils.runSql(session, query); for (Object[] current : result) { ComparableWrapper key = new ComparableWrapper((Comparable) current[0]); dataset.setValue(key, (Number) current[1]); if (current.length > 2) { key.setLabel(current[2].toString()); } } JFreeChart chart = createChart(chartDefinition, dataset); chart.setAntiAlias(isAntiAlias()); // impostiamo il bordo invisibile // eventualmente e' il css a fornirne uno // eventualmente e' il css a fornirne uno chart.setBorderVisible(isBorderVisible()); // impostiamo il titolo TextTitle title = chart.getTitle(); title.setFont(titleFont); title.setMargin(10.0, 0.0, 0.0, 0.0); // ottieni il Plot PiePlot plot = (PiePlot) chart.getPlot(); String urlExpression = chartDefinition.getUrlExpression(); if (!StringUtils.isBlank(urlExpression)) { PieURLGenerator urlGenerator = new ChartPieUrlGenerator(urlExpression); plot.setURLGenerator(urlGenerator); } else { plot.setURLGenerator(null); } // il plot ha sfondo e bordo trasparente // (quindi si vede il colore del chart) plot.setBackgroundPaint(transparentColor); plot.setOutlinePaint(transparentColor); // Modifico il toolTip // hongliangpan add // :?{0} {1} {2} ? ,??? plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})", NumberFormat.getNumberInstance(), new DecimalFormat("0.00%"))); // {0}={1}({2}) plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}")); // ?(0.0-1.0) // plot.setForegroundAlpha(1.0f); // imposta la distanza delle etichette dal plot plot.setLabelGap(0.03); // plot.setLabelGenerator(new MyPieSectionLabelGenerator()); // imposta il messaggio se non ci sono dati plot.setNoDataMessage(ElementsThreadLocals.getText("no.data.available")); plot.setCircular(true); plot.setBaseSectionOutlinePaint(Color.BLACK); DrawingSupplier supplier = new DesaturatedDrawingSupplier(plot.getDrawingSupplier()); plot.setDrawingSupplier(supplier); // ? plot.setForegroundAlpha(1.0f); // impostiamo il titolo della legenda String legendString = chartDefinition.getLegend(); Title subtitle = new TextTitle(legendString, legendFont, Color.BLACK, RectangleEdge.BOTTOM, HorizontalAlignment.CENTER, VerticalAlignment.CENTER, new RectangleInsets(0, 0, 0, 0)); subtitle.setMargin(0, 0, 5, 0); chart.addSubtitle(subtitle); // impostiamo la legenda LegendTitle legend = chart.getLegend(); legend.setBorder(0, 0, 0, 0); legend.setItemFont(legendItemFont); int legendMargin = 10; legend.setMargin(0.0, legendMargin, legendMargin, legendMargin); legend.setBackgroundPaint(transparentColor); // impostiamo un gradiente orizzontale Paint chartBgPaint = new GradientPaint(0, 0, new Color(255, 253, 240), 0, getHeight(), Color.WHITE); chart.setBackgroundPaint(chartBgPaint); return chart; }
From source file:userinterface.PatientRole.PatientWorkAreaJPanel.java
private void btnViewPieChartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnViewPieChartActionPerformed if (patient.vitalSignHistory.getVitalSignHistory().size() > 0) { int selectedRow = tblVS.getSelectedRow(); if (selectedRow >= 0) { VitalSign vs = (VitalSign) tblVS.getValueAt(selectedRow, 0); DefaultPieDataset pieDataset = new DefaultPieDataset(); pieDataset.setValue("Respiratory Rate", new Float(vs.getRespiratoryRate())); pieDataset.setValue("Heart Rate", new Float(vs.getHeartRate())); pieDataset.setValue("Blood Pressure", new Float(vs.getSystolicBloodPressure())); pieDataset.setValue("Weight", new Float(vs.getWeight())); JFreeChart chart = ChartFactory.createPieChart("Pie chart", pieDataset, true, true, true); PiePlot P = (PiePlot) chart.getPlot(); ChartFrame frame = new ChartFrame("Pie Charrt", chart); frame.setVisible(true);/*from w w w . ja v a 2 s. c o m*/ frame.setSize(450, 500); } else { JOptionPane.showMessageDialog(null, "Please select a Vital Sign row to see the Pie Chart!"); } } else { JOptionPane.showMessageDialog(null, "There's no Vital Sign reported for this patient"); return; } }
From source file:org.openmrs.module.vcttrac.web.view.chart.VCTCreatePieChartView.java
private JFreeChart createGenderPieChartView() { DefaultPieDataset pieDataset = new DefaultPieDataset(); VCTModuleService service = Context.getService(VCTModuleService.class); try {//from w w w. j av a 2 s. co m Date reportingDate = new Date(); int numberOffemale = service.getVCTClientsBasedOnGender("f", reportingDate).size(); int numberOfMale = service.getVCTClientsBasedOnGender("m", reportingDate).size(); int all = numberOffemale + numberOfMale; Float percentageFemale = new Float(100 * numberOffemale / all); pieDataset.setValue(VCTTracUtil.getMessage("vcttrac.person.female", null) + " (" + numberOffemale + " , " + percentageFemale + "%)", percentageFemale); Float percentageMale = new Float(100 * numberOfMale / all); pieDataset.setValue(VCTTracUtil.getMessage("vcttrac.person.male", null) + " (" + numberOfMale + " , " + percentageMale + "%)", percentageMale); JFreeChart chart = ChartFactory.createPieChart(VCTTracUtil.getMessage("vcttrac.person.gender", null), pieDataset, true, true, false); return chart; } catch (Exception e) { log.error(">>GENDER>>PIE>>CHART>> " + e.getMessage()); e.printStackTrace(); return ChartFactory.createPieChart(VCTTracUtil.getMessage("vcttrac.person.gender", null), null, true, true, false); } }
From source file:org.openmrs.module.vcttrac.web.view.chart.VCTCreatePieChartView.java
private JFreeChart createVCTvsPITPieChartView() { DefaultPieDataset pieDataset = new DefaultPieDataset(); VCTModuleService service = Context.getService(VCTModuleService.class); try {/*from w w w . j a va 2 s. co m*/ Date reportingDate = new Date(); int numberOfClientInVCT = service.getNumberOfClientByVCTOrPIT(1, reportingDate); int numberOfClientInPIT = service.getNumberOfClientByVCTOrPIT(2, reportingDate); int all = numberOfClientInVCT + numberOfClientInPIT; Float percentageVCT = new Float(100 * numberOfClientInVCT / all); pieDataset.setValue(VCTTracUtil.getMessage("vcttrac.home.vctclient", null) + " (" + numberOfClientInVCT + " , " + percentageVCT + "%)", percentageVCT); Float percentagePIT = new Float(100 * numberOfClientInPIT / all); pieDataset.setValue(VCTTracUtil.getMessage("vcttrac.home.pitclient", null) + " (" + numberOfClientInPIT + " , " + percentagePIT + "%)", percentagePIT); JFreeChart chart = ChartFactory.createPieChart( VCTTracUtil.getMessage("vcttrac.home.vctclient", null) + " " + VCTTracUtil.getMessage("vcttrac.graph.statistic.comparedto", null) + " " + VCTTracUtil.getMessage("vcttrac.home.pitclient", null), pieDataset, true, true, false); return chart; } catch (Exception e) { log.error(">>VCT>>vs>>PIT>>PIE>>CHART>> " + e.getMessage()); e.printStackTrace(); return ChartFactory.createPieChart(VCTTracUtil.getMessage("vcttrac.home.vctclient", null) + " " + VCTTracUtil.getMessage("vcttrac.graph.statistic.comparedto", null) + " " + VCTTracUtil.getMessage("vcttrac.home.pitclient", null), null, true, true, false); } }
From source file:com.jd.survey.web.statistics.StatisticsController.java
@Secured({ "ROLE_ADMIN", "ROLE_SURVEY_ADMIN" }) private PieDataset createDataset(Long questionId, Long recordCount) { try {/*from w w w . ja v a 2 s.com*/ String columnValue = ""; Question question = surveySettingsService.question_findById(questionId); List<QuestionStatistic> questionStatistics = surveyService.questionStatistic_getStatistics(question, recordCount); DefaultPieDataset defaultPieDataset = new DefaultPieDataset(); for (QuestionStatistic questionStatistic : questionStatistics) { //double percentage = ((double)questionStatistic.getCount()/(double)recordCount) * 100; //percentage = Double.valueOf(new DecimalFormat("#.##").format(percentage)); defaultPieDataset.setValue(questionStatistic.getEntry(), questionStatistic.getFrequency() * 100); } return defaultPieDataset; } catch (Exception e) { log.error(e.getMessage(), e); throw (new RuntimeException(e)); } }
From source file:edu.wpi.cs.wpisuitetng.modules.requirementmanager.view.requirements.NewPieChartPanel.java
/** * @return the data of the number of requirements a user has assigned to * them//from ww w . j a va 2s. c o m */ private static PieDataset setDataAssignTo() { DefaultPieDataset dataSet = new DefaultPieDataset(); ArrayList<String> userNames = new ArrayList<String>(); List<Requirement> requirements = RequirementModel.getInstance().getRequirements();// list of requirements for (int i = 0; i < requirements.size(); i++) { List<String> users = requirements.get(i).getAssignedTo();// list of // users // for // specific // requirement for (int j = 0; j < users.size(); j++) { if (!userNames.contains(users.get(j))) { userNames.add(users.get(j));// populate a list of all users } } } int[] numReqAssigned = new int[userNames.size()]; for (int i = 0; i < requirements.size(); i++) { List<String> users = requirements.get(i).getAssignedTo(); for (int j = 0; j < userNames.size(); j++) { if (users.contains(userNames.get(j))) { numReqAssigned[j]++;// count the number of requirements a // user has assigned to them } } } for (int k = 0; k < userNames.size(); k++) { dataSet.setValue(userNames.get(k), numReqAssigned[k]);// populate // pie chart // data } return dataSet; }
From source file:fr.ensimag.biblio.controllers.StatImg.java
/** * Handles the HTTP <code>GET</code> method. * * @param request servlet request/* ww w .j a v a 2 s.c o m*/ * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { OutputStream out = response.getOutputStream(); response.setContentType("image/png"); //int val1 = 40; //int val2 = 60; try { DefaultPieDataset dataset = new DefaultPieDataset(); String title = "Statistiques"; boolean legend = true; Map<String, String[]> params = request.getParameterMap(); for (Map.Entry<String, String[]> param : params.entrySet()) { String key = param.getKey(); String[] value = param.getValue(); System.out.println("key : " + key + "value : " + value[0]); if (key.equals("legend")) legend = Boolean.parseBoolean(value[0]); else dataset.setValue(key, Double.parseDouble(value[0])); } //dataset.setValue("Valeur 1", val1); //dataset.setValue("Valeur 2", val2); JFreeChart chart = ChartFactory.createPieChart(title, dataset, legend, false, false); chart.setBackgroundPaint(Color.WHITE); ChartUtilities.writeChartAsPNG(out, chart, 500, 300); } finally { out.close(); } }
From source file:org.lsug.quota.web.internal.portlet.UserQuotaWebPortlet.java
@Override public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws IOException, PortletException { ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY); StringBundler sb = new StringBundler(5); JFreeChart jFreeChart = null;//w ww . j a va 2s . co m DefaultPieDataset pieDataset = new DefaultPieDataset(); try { long groupId = themeDisplay.getUser().getGroupId(); long classNameId = PortalUtil.getClassNameId(User.class); Quota siteQuota = _quotaLocalService.fetchQuotaByClassNameIdClassPK(classNameId, groupId); if (siteQuota != null && siteQuota.isEnabled()) { ResourceBundle resourceBundle = ResourceBundleUtil.getBundle("content.Language", resourceRequest.getLocale(), getClass()); pieDataset.setValue(LanguageUtil.get(resourceBundle, "used-space"), siteQuota.getQuotaUsedPercentage()); pieDataset.setValue(LanguageUtil.get(resourceBundle, "unused-space"), 100 - siteQuota.getQuotaUsedPercentage()); sb.append(LanguageUtil.get(resourceBundle, "user-site-current-used-size-diagram-title")); jFreeChart = getCurrentSizeJFreeChart(sb.toString(), pieDataset); resourceResponse.setContentType(ContentTypes.IMAGE_PNG); OutputStream outputStream = null; try { outputStream = resourceResponse.getPortletOutputStream(); ChartUtilities.writeChartAsPNG(outputStream, jFreeChart, 400, 200); } finally { if (outputStream != null) { outputStream.close(); } } } } catch (Exception e) { LOGGER.error(e); throw new PortletException(e); } }
From source file:Software_Jframes.chart.java
public void piechart_customer(JDesktopPane jDesktopPane1, String pid) { DefaultPieDataset piedataset = new DefaultPieDataset(); int cost_total = 0; try {//from ww w. j ava 2s . c om ResultSet rs = db.statement().executeQuery("select * from cus_payment where Project_id='" + pid + "' "); while (rs.next()) { String cost = rs.getString("Amount"); int cost_int1 = Integer.parseInt(cost); cost_total = cost_total + cost_int1; } } catch (Exception e) { e.printStackTrace(); } piedataset.setValue("Amount Received", cost_total); piedataset.setValue("Amount to be Received", 7854); JFreeChart chart = ChartFactory.createPieChart("Costs for Project", piedataset, true, true, true); PiePlot p = (PiePlot) chart.getPlot(); p.setBackgroundPaint(Color.white); ChartPanel panel = new ChartPanel(chart); jDesktopPane1.add(panel).setSize(500, 230); }
From source file:UserInterface.WaterSupplyAdmin.UsagePatternJPanel.java
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed int total = 0; for (Organization organization : enterprise.getOrganizationDirectory().getOrganizationList()) { if (organization instanceof CustomerOrganization) { for (Employee employee : organization.getEmployeeDirectory().getEmployeeList()) { Customer customer = (Customer) employee; total += customer.getTotalUsageVolume(); }/*from w ww .j a va 2 s . c o m*/ } } if (total == 0) { JOptionPane.showMessageDialog(null, "No Customer has used water yet"); return; } DefaultPieDataset dataset = new DefaultPieDataset(); for (Organization organization : enterprise.getOrganizationDirectory().getOrganizationList()) { if (organization instanceof CustomerOrganization) { for (Employee employee : organization.getEmployeeDirectory().getEmployeeList()) { Customer customer = (Customer) employee; dataset.setValue(customer.getName(), customer.getTotalUsageVolume()); } } } JFreeChart chart = ChartFactory.createPieChart3D("Customer Water Usage", dataset, true, true, true); ChartFrame frame = new ChartFrame("Pie Chart demonstrating customer water usage ", chart); PiePlot3D plot = (PiePlot3D) chart.getPlot(); plot.setStartAngle(200); plot.setForegroundAlpha(0.50f); RefineryUtilities.centerFrameOnScreen(frame); frame.setVisible(true); frame.setSize(650, 550); }