Example usage for org.jfree.data.general DefaultPieDataset setValue

List of usage examples for org.jfree.data.general DefaultPieDataset setValue

Introduction

In this page you can find the example usage for org.jfree.data.general DefaultPieDataset setValue.

Prototype

public void setValue(Comparable key, double value) 

Source Link

Document

Sets the data value for a key and sends a DatasetChangeEvent to all registered listeners.

Usage

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);
}