Example usage for org.jfree.chart ChartFactory createPieChart

List of usage examples for org.jfree.chart ChartFactory createPieChart

Introduction

In this page you can find the example usage for org.jfree.chart ChartFactory createPieChart.

Prototype

public static JFreeChart createPieChart(String title, PieDataset dataset, boolean legend, boolean tooltips,
        boolean urls) 

Source Link

Document

Creates a pie chart with default settings.

Usage

From source file:com.pusksesmas.form_statistik.statistik_keuangan_administrasi.java

private void tabelDataMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tabelDataMouseClicked

    if (vpil.getSelectedIndex() == 1) {
        int row = tabelData.getSelectedRow();
        String jan = (tabelData.getModel().getValueAt(row, 0)).toString();
        String feb = (tabelData.getModel().getValueAt(row, 1)).toString();
        String mar = (tabelData.getModel().getValueAt(row, 2)).toString();
        String apr = (tabelData.getModel().getValueAt(row, 3)).toString();
        String mei = (tabelData.getModel().getValueAt(row, 4)).toString();
        String jun = (tabelData.getModel().getValueAt(row, 5)).toString();
        String jul = (tabelData.getModel().getValueAt(row, 6)).toString();
        String agus = (tabelData.getModel().getValueAt(row, 7)).toString();
        String sept = (tabelData.getModel().getValueAt(row, 8)).toString();
        String okt = (tabelData.getModel().getValueAt(row, 9)).toString();
        String nov = (tabelData.getModel().getValueAt(row, 10)).toString();
        String des = (tabelData.getModel().getValueAt(row, 11)).toString();

        DefaultCategoryDataset pieDataset = new DefaultCategoryDataset();
        //        pieDataset.setValue("Diagnosa", new Integer(jan));
        pieDataset.setValue(new Integer(jan), "", "Januari");
        pieDataset.setValue(new Integer(feb), "", "Februari");
        pieDataset.setValue(new Integer(mar), "", "Maret");
        pieDataset.setValue(new Integer(apr), "", "April");
        pieDataset.setValue(new Integer(mei), "", "Mei");
        pieDataset.setValue(new Integer(jun), "", "Juni");
        pieDataset.setValue(new Integer(jul), "", "Juli");
        pieDataset.setValue(new Integer(agus), "", "Agustus");
        pieDataset.setValue(new Integer(sept), "", "September");
        pieDataset.setValue(new Integer(okt), "", "Oktober");
        pieDataset.setValue(new Integer(nov), "", "November");
        pieDataset.setValue(new Integer(des), "", "Desember");
        JFreeChart chart = ChartFactory.createBarChart3D("STATISTIK KEUANGAN ADMINISTRASI", "BULAN", "JUMLAH",
                (CategoryDataset) pieDataset, PlotOrientation.VERTICAL, false, true, false);
        chart.setBackgroundPaint(Color.yellow);
        chart.getTitle().setPaint(Color.red);

        final CategoryPlot p = chart.getCategoryPlot();

        BarRenderer renderer = (BarRenderer) p.getRenderer();
        DecimalFormat sdf = new DecimalFormat("RP #,##0");
        renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", sdf));
        p.setRenderer(renderer);/*from w w  w . ja  v a2s  . co  m*/
        renderer.setBasePositiveItemLabelPosition(
                new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.TOP_LEFT));
        renderer.setItemLabelsVisible(true);
        chart.getCategoryPlot().setRenderer(renderer);

        p.setRangeGridlinePaint(Color.blue);
        p.setBackgroundPaint(Color.white);
        ChartFrame frame = new ChartFrame("barchart", chart);
        frame.setVisible(true);
        frame.setLocation(250, 100);
        frame.setSize(800, 600);
    } else if (vpil.getSelectedIndex() == 2) {
        int row = tabelData.getSelectedRow();
        String jan = (tabelData.getModel().getValueAt(row, 0)).toString();
        String feb = (tabelData.getModel().getValueAt(row, 1)).toString();
        String mar = (tabelData.getModel().getValueAt(row, 2)).toString();
        String apr = (tabelData.getModel().getValueAt(row, 3)).toString();
        String mei = (tabelData.getModel().getValueAt(row, 4)).toString();
        String jun = (tabelData.getModel().getValueAt(row, 5)).toString();
        String jul = (tabelData.getModel().getValueAt(row, 6)).toString();
        String agus = (tabelData.getModel().getValueAt(row, 7)).toString();
        String sept = (tabelData.getModel().getValueAt(row, 8)).toString();
        String okt = (tabelData.getModel().getValueAt(row, 9)).toString();
        String nov = (tabelData.getModel().getValueAt(row, 10)).toString();
        String des = (tabelData.getModel().getValueAt(row, 11)).toString();
        DefaultPieDataset pieDataset = new DefaultPieDataset();
        pieDataset.setValue("Januari", new Integer(jan));
        pieDataset.setValue("Februari", new Integer(feb));
        pieDataset.setValue("Maret", new Integer(mar));
        pieDataset.setValue("April", new Integer(apr));
        pieDataset.setValue("Mei", new Integer(mei));
        pieDataset.setValue("Juni", new Integer(jun));
        pieDataset.setValue("Juli", new Integer(jul));
        pieDataset.setValue("Agustus", new Integer(agus));
        pieDataset.setValue("September", new Integer(sept));
        pieDataset.setValue("Oktober", new Integer(okt));
        pieDataset.setValue("November", new Integer(nov));
        pieDataset.setValue("Desember", new Integer(des));
        JFreeChart chart = ChartFactory.createPieChart("STATISTIK KEUANGAN ADMINISTRASI", pieDataset, true,
                true, true);
        //        PiePlot3D P = (PiePlot3D)chart.getPlot();
        PiePlot P = (PiePlot) chart.getPlot();
        //P.setForegroundAlpha(TOP_ALIGNMENT);
        ChartFrame frame = new ChartFrame("STATISTIK KEUANGAN ADMINISTRASI", chart);
        frame.setVisible(true);
        frame.setLocation(250, 100);
        frame.setSize(800, 600);
    } else {

    }

}

From source file:edu.ucla.stat.SOCR.applications.demo.BinomialTradingApplication.java

protected JFreeChart createEmptyChart(PieDataset dataset) {

    JFreeChart chart = ChartFactory.createPieChart("SOCR Chart", // chart title
            null, // data
            true, // include legend
            true, false);/*from   www.  ja  v a  2  s.  co m*/

    PiePlot plot = (PiePlot) chart.getPlot();
    plot.setLabelFont(new Font("SansSerif", Font.PLAIN, 12));
    plot.setNoDataMessage("No data available");
    plot.setCircular(false);
    plot.setLabelGap(0.02);
    return chart;
}

From source file:com.pusksesmas.form_statistik.statistik_obat_masuk.java

private void tabelDataMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tabelDataMouseClicked

    if (vpil.getSelectedIndex() == 1) {
        int row = tabelData.getSelectedRow();
        String namaObat = (tabelData.getModel().getValueAt(row, 0)).toString();
        String jan = (tabelData.getModel().getValueAt(row, 1)).toString();
        String feb = (tabelData.getModel().getValueAt(row, 2)).toString();
        String mar = (tabelData.getModel().getValueAt(row, 3)).toString();
        String apr = (tabelData.getModel().getValueAt(row, 4)).toString();
        String mei = (tabelData.getModel().getValueAt(row, 5)).toString();
        String jun = (tabelData.getModel().getValueAt(row, 6)).toString();
        String jul = (tabelData.getModel().getValueAt(row, 7)).toString();
        String agus = (tabelData.getModel().getValueAt(row, 8)).toString();
        String sept = (tabelData.getModel().getValueAt(row, 9)).toString();
        String okt = (tabelData.getModel().getValueAt(row, 10)).toString();
        String nov = (tabelData.getModel().getValueAt(row, 11)).toString();
        String des = (tabelData.getModel().getValueAt(row, 12)).toString();

        DefaultCategoryDataset pieDataset = new DefaultCategoryDataset();
        //        pieDataset.setValue("Diagnosa", new Integer(jan));
        pieDataset.setValue(new Integer(jan), "", "Januari");
        pieDataset.setValue(new Integer(feb), "", "Februari");
        pieDataset.setValue(new Integer(mar), "", "Maret");
        pieDataset.setValue(new Integer(apr), "", "April");
        pieDataset.setValue(new Integer(mei), "", "Mei");
        pieDataset.setValue(new Integer(jun), "", "Juni");
        pieDataset.setValue(new Integer(jul), "", "Juli");
        pieDataset.setValue(new Integer(agus), "", "Agustus");
        pieDataset.setValue(new Integer(sept), "", "September");
        pieDataset.setValue(new Integer(okt), "", "Oktober");
        pieDataset.setValue(new Integer(nov), "", "November");
        pieDataset.setValue(new Integer(des), "", "Desember");
        JFreeChart chart = ChartFactory.createBarChart3D("STATISTIK PENERIMAAN OBAT\nNAMA OBAT: " + namaObat,
                "BULAN", "JUMLAH", (CategoryDataset) pieDataset, PlotOrientation.VERTICAL, false, true, false);
        chart.setBackgroundPaint(Color.yellow);
        chart.getTitle().setPaint(Color.red);

        final CategoryPlot p = chart.getCategoryPlot();

        BarRenderer renderer = (BarRenderer) p.getRenderer();
        DecimalFormat sdf = new DecimalFormat("#,##0");
        renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", sdf));
        p.setRenderer(renderer);/*from   ww w  .jav  a2 s  .  c om*/
        renderer.setBasePositiveItemLabelPosition(
                new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.TOP_CENTER));
        renderer.setItemLabelsVisible(true);
        chart.getCategoryPlot().setRenderer(renderer);

        p.setRangeGridlinePaint(Color.blue);
        ChartFrame frame = new ChartFrame("barchart", chart);
        frame.setVisible(true);
        frame.setLocation(250, 100);
        frame.setSize(800, 600);
    } else if (vpil.getSelectedIndex() == 2) {
        int row = tabelData.getSelectedRow();
        String jan = (tabelData.getModel().getValueAt(row, 1)).toString();
        String feb = (tabelData.getModel().getValueAt(row, 2)).toString();
        String mar = (tabelData.getModel().getValueAt(row, 3)).toString();
        String apr = (tabelData.getModel().getValueAt(row, 4)).toString();
        String mei = (tabelData.getModel().getValueAt(row, 5)).toString();
        String jun = (tabelData.getModel().getValueAt(row, 6)).toString();
        String jul = (tabelData.getModel().getValueAt(row, 7)).toString();
        String agus = (tabelData.getModel().getValueAt(row, 8)).toString();
        String sept = (tabelData.getModel().getValueAt(row, 9)).toString();
        String okt = (tabelData.getModel().getValueAt(row, 10)).toString();
        String nov = (tabelData.getModel().getValueAt(row, 11)).toString();
        String des = (tabelData.getModel().getValueAt(row, 12)).toString();
        DefaultPieDataset pieDataset = new DefaultPieDataset();
        pieDataset.setValue("Januari", new Integer(jan));
        pieDataset.setValue("Februari", new Integer(feb));
        pieDataset.setValue("Maret", new Integer(mar));
        pieDataset.setValue("April", new Integer(apr));
        pieDataset.setValue("Mei", new Integer(mei));
        pieDataset.setValue("Juni", new Integer(jun));
        pieDataset.setValue("Juli", new Integer(jul));
        pieDataset.setValue("Agustus", new Integer(agus));
        pieDataset.setValue("September", new Integer(sept));
        pieDataset.setValue("Oktober", new Integer(okt));
        pieDataset.setValue("November", new Integer(nov));
        pieDataset.setValue("Desember", new Integer(des));
        JFreeChart chart = ChartFactory.createPieChart("STATISTIK PENERIMAAN OBAT", pieDataset, true, true,
                true);
        //        PiePlot3D P = (PiePlot3D)chart.getPlot();
        PiePlot P = (PiePlot) chart.getPlot();
        //P.setForegroundAlpha(TOP_ALIGNMENT);
        ChartFrame frame = new ChartFrame("STATISTIK PENERIMAAN OBAT", chart);
        frame.setVisible(true);
        frame.setLocation(250, 100);
        frame.setSize(800, 600);
    } else {

    }

}

From source file:com.pusksesmas.form_statistik.statistik_diagnosa.java

private void tabelDataMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tabelDataMouseClicked

    if (vpil.getSelectedIndex() == 1) {
        int row = tabelData.getSelectedRow();
        String namaPenyakit = (tabelData.getModel().getValueAt(row, 0)).toString();
        String jan = (tabelData.getModel().getValueAt(row, 1)).toString();
        String feb = (tabelData.getModel().getValueAt(row, 2)).toString();
        String mar = (tabelData.getModel().getValueAt(row, 3)).toString();
        String apr = (tabelData.getModel().getValueAt(row, 4)).toString();
        String mei = (tabelData.getModel().getValueAt(row, 5)).toString();
        String jun = (tabelData.getModel().getValueAt(row, 6)).toString();
        String jul = (tabelData.getModel().getValueAt(row, 7)).toString();
        String agus = (tabelData.getModel().getValueAt(row, 8)).toString();
        String sept = (tabelData.getModel().getValueAt(row, 9)).toString();
        String okt = (tabelData.getModel().getValueAt(row, 10)).toString();
        String nov = (tabelData.getModel().getValueAt(row, 11)).toString();
        String des = (tabelData.getModel().getValueAt(row, 12)).toString();

        DefaultCategoryDataset pieDataset = new DefaultCategoryDataset();
        //        pieDataset.setValue("Diagnosa", new Integer(jan));
        pieDataset.setValue(new Integer(jan), "", "Januari");
        pieDataset.setValue(new Integer(feb), "", "Februari");
        pieDataset.setValue(new Integer(mar), "", "Maret");
        pieDataset.setValue(new Integer(apr), "", "April");
        pieDataset.setValue(new Integer(mei), "", "Mei");
        pieDataset.setValue(new Integer(jun), "", "Juni");
        pieDataset.setValue(new Integer(jul), "", "Juli");
        pieDataset.setValue(new Integer(agus), "", "Agustus");
        pieDataset.setValue(new Integer(sept), "", "September");
        pieDataset.setValue(new Integer(okt), "", "Oktober");
        pieDataset.setValue(new Integer(nov), "", "November");
        pieDataset.setValue(new Integer(des), "", "Desember");
        JFreeChart chart = ChartFactory.createBarChart3D(
                "STATISTIK HASIL DIGNOSA\nNAMA PENYAKIT: " + namaPenyakit, "BULAN", "JUMLAH",
                (CategoryDataset) pieDataset, PlotOrientation.VERTICAL, false, true, false);
        chart.setBackgroundPaint(Color.yellow);
        chart.getTitle().setPaint(Color.red);

        final CategoryPlot p = chart.getCategoryPlot();

        BarRenderer renderer = (BarRenderer) p.getRenderer();
        DecimalFormat sdf = new DecimalFormat("#,##0");
        renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", sdf));
        p.setRenderer(renderer);/*from  w ww  .ja v  a 2 s.c  o  m*/
        renderer.setBasePositiveItemLabelPosition(
                new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.TOP_CENTER));
        renderer.setItemLabelsVisible(true);
        chart.getCategoryPlot().setRenderer(renderer);

        p.setRangeGridlinePaint(Color.blue);
        ChartFrame frame = new ChartFrame("barchart", chart);
        frame.setVisible(true);
        frame.setLocation(250, 100);
        frame.setSize(800, 600);
    } else if (vpil.getSelectedIndex() == 2) {
        int row = tabelData.getSelectedRow();
        String jan = (tabelData.getModel().getValueAt(row, 1)).toString();
        String feb = (tabelData.getModel().getValueAt(row, 2)).toString();
        String mar = (tabelData.getModel().getValueAt(row, 3)).toString();
        String apr = (tabelData.getModel().getValueAt(row, 4)).toString();
        String mei = (tabelData.getModel().getValueAt(row, 5)).toString();
        String jun = (tabelData.getModel().getValueAt(row, 6)).toString();
        String jul = (tabelData.getModel().getValueAt(row, 7)).toString();
        String agus = (tabelData.getModel().getValueAt(row, 8)).toString();
        String sept = (tabelData.getModel().getValueAt(row, 9)).toString();
        String okt = (tabelData.getModel().getValueAt(row, 10)).toString();
        String nov = (tabelData.getModel().getValueAt(row, 11)).toString();
        String des = (tabelData.getModel().getValueAt(row, 12)).toString();
        DefaultPieDataset pieDataset = new DefaultPieDataset();
        pieDataset.setValue("Januari", new Integer(jan));
        pieDataset.setValue("Februari", new Integer(feb));
        pieDataset.setValue("Maret", new Integer(mar));
        pieDataset.setValue("April", new Integer(apr));
        pieDataset.setValue("Mei", new Integer(mei));
        pieDataset.setValue("Juni", new Integer(jun));
        pieDataset.setValue("Juli", new Integer(jul));
        pieDataset.setValue("Agustus", new Integer(agus));
        pieDataset.setValue("September", new Integer(sept));
        pieDataset.setValue("Oktober", new Integer(okt));
        pieDataset.setValue("November", new Integer(nov));
        pieDataset.setValue("Desember", new Integer(des));
        JFreeChart chart = ChartFactory.createPieChart("STATISTIK HASIL DIGNOSA", pieDataset, true, true, true);
        //        PiePlot3D P = (PiePlot3D)chart.getPlot();
        PiePlot P = (PiePlot) chart.getPlot();
        //P.setForegroundAlpha(TOP_ALIGNMENT);
        ChartFrame frame = new ChartFrame("STATISTIK HASIL DIGNOSA", chart);
        frame.setVisible(true);
        frame.setLocation(250, 100);
        frame.setSize(800, 600);
    } else {

    }

}

From source file:org.onesun.sdi.swing.app.views.DataServicesView.java

private void createControls() {

    copyDataButton.addActionListener(new ActionListener() {
        @Override/*from  w w w . j  a v a 2  s. c om*/
        public void actionPerformed(ActionEvent e) {
            datasetModel = new DatasetModel();

            final Metadata origMetadata = AppCommonsUI.PREVIEW_DATASET_MODEL.getMetadata();
            Metadata metadata = new Metadata();
            // copy metadata
            for (String key : origMetadata.keySet()) {
                metadata.put(key, origMetadata.get(key));
            }

            final List<Map<String, String>> origData = AppCommonsUI.PREVIEW_DATASET_MODEL.getData();
            List<Map<String, String>> data = new ArrayList<Map<String, String>>();
            // copy data
            for (Map<String, String> datum : origData) {

                Map<String, String> record = new TreeMap<String, String>();

                for (String key : datum.keySet()) {
                    record.put(key, datum.get(key));
                }

                data.add(record);
            }

            datasetModel.setMetadata(metadata);
            datasetModel.setData(data);
            dataTable.setModel(datasetModel);
            rowCountLabel.setText(
                    "Rows: " + datasetModel.getRowCount() + ", Columns: " + datasetModel.getColumnCount());

            JTableUtils.packColumns(dataTable, 2);
            rowCountLabel.invalidate();
            dataTable.invalidate();
            dataTable.validate();
            scrollPane.invalidate();
        }
    });

    JPanel panel = new JPanel(new BorderLayout(5, 5));
    panel.add(new JLabel("Enrichment Services"), BorderLayout.NORTH);
    dataServicesList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    dataServicesList.setListData(DataServicesFactory.getServiceNames());
    dataServicesList.setPreferredSize(new Dimension(400, 300));
    JScrollPane listScrollPane = new JScrollPane(dataServicesList);
    panel.add(listScrollPane, BorderLayout.CENTER);
    containerPanel.add(panel);

    panel = new JPanel(new BorderLayout(5, 5));
    JPanel labelAndControlPanel = new JPanel(new BorderLayout(5, 5));
    labelAndControlPanel.add(new JLabel("Columns to be enriched"), BorderLayout.CENTER);
    JPanel controlPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 5));
    JButton selectButton = new JButton(AppIcons.getIcon("select"));
    controlPanel.add(selectButton);
    selectButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            boolean columnsAvailable = false;
            if (datasetModel != null) {
                Metadata metadata = datasetModel.getMetadata();
                if (metadata != null) {
                    columnsAvailable = true;
                    int size = metadata.keySet().size();
                    String[] values = new String[size];

                    int index = 0;
                    for (String key : metadata.keySet()) {
                        values[index] = key;
                        index++;
                    }

                    metadataSelectionDialog.setValues(values);
                }
            }

            if (columnsAvailable == true) {
                metadataSelectionDialog.setVisible(true);
            } else {
                JOptionPane.showMessageDialog(rootPanel, AppMessages.ERROR_NO_METADATA);
                return;
            }
        }
    });
    JButton clearButton = new JButton(AppIcons.getIcon("clear"));
    clearButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            selectedColumnList.setListData(new String[] {});
            selectedColumnList.invalidate();
        }
    });
    controlPanel.add(clearButton);
    labelAndControlPanel.add(controlPanel, BorderLayout.EAST);
    panel.add(labelAndControlPanel, BorderLayout.NORTH);
    selectedColumnList.setPreferredSize(new Dimension(400, 300));
    listScrollPane = new JScrollPane(selectedColumnList);
    panel.add(listScrollPane, BorderLayout.CENTER);
    containerPanel.add(panel);

    executeButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            if (AppCommons.TASKLET.getConnectionProperties() == null) {
                JOptionPane.showMessageDialog(rootPanel, AppMessages.INFORMATION_CHOOSE_A_CONNECTION);
                return;
            }
            if (AppCommonsUI.PREVIEW_DATASET_MODEL == null
                    || AppCommonsUI.PREVIEW_DATASET_MODEL.getRowCount() <= 0) {
                JOptionPane.showMessageDialog(rootPanel, AppMessages.ERROR_NO_DATA_TO_ENTRICH);
                return;
            }

            List<String> selectedServiceNames = dataServicesList.getSelectedValuesList();

            if ((selectedServiceNames != null && selectedServiceNames.size() == 0)
                    || (selectedColumnNames.length == 0)) {
                JOptionPane.showMessageDialog(rootPanel, AppMessages.ERROR_MISSING_DATA_SERVICE_AND_COLUMNS);
                return;
            }

            DefaultCusor.startWaitCursor(rootPanel);

            List<Map<String, String>> data = datasetModel.getData();
            Metadata metadata = datasetModel.getMetadata();

            for (String name : selectedServiceNames) {
                DataService service = DataServicesFactory.getDataService(name);

                if (service instanceof TextAnalysisService) {
                    TextAnalysisService taService = (TextAnalysisService) service;

                    List<Object> objects = new ArrayList<Object>();
                    for (Map<String, String> datum : data) {
                        objects.add(datum);
                    }
                    taService.setData(objects);
                    taService.setMetadata(metadata);
                    taService.setColumns(selectedColumnNames);

                    taService.execute();
                }
            }

            rowCountLabel.setText("Rows: " + data.size() + ", Columns: " + metadata.size());
            rowCountLabel.invalidate();

            datasetModel = new DatasetModel();
            datasetModel.setMetadata(metadata);
            datasetModel.setData(data);

            datasetModel.fireTableStructureChanged();
            datasetModel.fireTableDataChanged();
            dataTable.setModel(datasetModel);

            JTableUtils.packColumns(dataTable, 2);

            dataTable.invalidate();
            dataTable.validate();
            scrollPane.invalidate();

            DefaultCusor.stopWaitCursor(rootPanel);
        }
    });

    computeMetricsButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            if (datasetModel == null || datasetModel.getRowCount() == 0) {
                JOptionPane.showMessageDialog(rootPanel, AppMessages.ERROR_NO_DATA);

                return;
            }

            List<Map<String, String>> data = datasetModel.getData();
            int upsetCount = 0;
            int happyCount = 0;

            int negativeCount = 0;
            int positiveCount = 0;

            for (Map<String, String> datum : data) {
                for (String k : datum.keySet()) {
                    if (k.compareTo("uclassify_sentiment") == 0) {
                        String text = datum.get(k);

                        String[] tokens = text.replace("{", "").replace("}", "").split(", ");
                        for (String token : tokens) {
                            String[] nvp = token.split("=");

                            Double score = Double.parseDouble(nvp[1]);

                            if (nvp[0].compareToIgnoreCase("negative") == 0 && score > 50.0) {
                                negativeCount++;
                            }

                            if (nvp[0].compareToIgnoreCase("positive") == 0 && score >= 50.0) {
                                positiveCount++;
                            }
                        }
                    } else if (k.compareTo("uclassify_mood") == 0) {
                        String text = datum.get(k);

                        String[] tokens = text.replace("{", "").replace("}", "").split(", ");
                        for (String token : tokens) {
                            String[] nvp = token.split("=");

                            Double score = Double.parseDouble(nvp[1]);

                            if (nvp[0].compareToIgnoreCase("upset") == 0 && score > 50.0) {
                                upsetCount++;
                            }
                            if (nvp[0].compareToIgnoreCase("happy") == 0 && score >= 50.0) {
                                happyCount++;
                            }
                        }
                    }
                }

            }

            DefaultPieDataset moodDataset = new DefaultPieDataset();
            moodDataset.setValue("upset", upsetCount);
            moodDataset.setValue("happy", happyCount);

            DefaultPieDataset sentimentDataset = new DefaultPieDataset();
            sentimentDataset.setValue("negative", negativeCount);
            sentimentDataset.setValue("positive", positiveCount);

            JFreeChart moodChart = ChartFactory.createPieChart("How is mood?", moodDataset, true, true, true);
            JFreeChart sentimentChart = ChartFactory.createPieChart("How is sentiment?", sentimentDataset, true,
                    true, true);

            ChartDialog cd = new ChartDialog(AppCommonsUI.MAIN_WINDOW, moodChart, sentimentChart);
            cd.setSize(new Dimension(900, 500));
            cd.setVisible(true);
        }
    });
}

From source file:org.openmrs.module.pmtct.web.view.chart.MaternityPieChartView.java

/**
 * @see org.openmrs.module.pmtct.web.view.chart.AbstractChartView#createChart(java.util.Map,
 *      javax.servlet.http.HttpServletRequest)
 *///from www .  ja va2s . co m
@Override
protected JFreeChart createChart(Map<String, Object> model, HttpServletRequest request) {
    UserContext userContext = Context.getUserContext();
    ApplicationContext appContext = ContextProvider.getApplicationContext();
    PMTCTModuleTag tag = new PMTCTModuleTag();

    List<Object> res = new ArrayList<Object>();
    PmtctService pmtct;
    pmtct = Context.getService(PmtctService.class);

    String startDate = "";
    String endDate = "";

    DefaultPieDataset pieDataset = new DefaultPieDataset();
    String title = "", descriptionTitle = "", dateInterval = "";
    Concept concept = null;
    Encounter enc = null;

    SimpleDateFormat df = MohTracUtil.getMySQLDateFormat();//new SimpleDateFormat("dd/MM/yyyy");

    if (request.getParameter("type").compareTo("1") == 0) {

        try {

            //            Date myDate = new Date("1/1/" + ((new Date()).getYear() + 1900));
            //            startDate = df.format(myDate);
            Date today = new Date();
            Date oneYearFromNow = new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS);

            endDate = df.format(today);
            startDate = df.format(oneYearFromNow);

            dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - "
                    + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")";
            res = pmtct.getGeneralStatsForPatientsInMaternity(startDate, endDate);

            List<String> childBornOptions = new ArrayList<String>();
            List<Integer> childBornStatusValues = new ArrayList<Integer>();
            Collection<ConceptAnswer> answers = Context.getConceptService()
                    .getConcept(PMTCTConfigurationUtils.getBornStatusConceptId()).getAnswers();
            for (ConceptAnswer str : answers) {
                childBornOptions.add(str.getAnswerConcept().getName().getName());
                childBornStatusValues.add(0);
            }
            childBornOptions.add("Others");
            childBornStatusValues.add(0);

            for (Object ob : res) {
                int patientId = (Integer) ((Object[]) ob)[0];

                Encounter matEnc = tag.getMaternityEncounterInfo(patientId);

                String childResult = tag.observationValueByConcept(matEnc,
                        PMTCTConfigurationUtils.getBornStatusConceptId());

                int i = 0;
                boolean found = false;
                for (String s : childBornOptions) {
                    if ((s.compareToIgnoreCase(childResult)) == 0) {
                        childBornStatusValues.set(i, childBornStatusValues.get(i) + 1);
                        found = true;
                    }
                    i++;
                }

                if (!found) {
                    childBornStatusValues.set(childBornStatusValues.size() - 1,
                            childBornStatusValues.get(childBornStatusValues.size() - 1) + 1);
                }

            }

            int i = 0;
            for (String s : childBornOptions) {
                if (childBornStatusValues.get(i) > 0) {
                    Float percentage = new Float(100 * childBornStatusValues.get(i) / res.size());
                    pieDataset.setValue(s + " (" + childBornStatusValues.get(i) + " , " + percentage + "%)",
                            percentage);
                }
                i++;
            }
            concept = Context.getConceptService().getConcept(PMTCTConfigurationUtils.getBornStatusConceptId());
        } catch (Exception ex) {
            ex.printStackTrace();
        }

        title = MohTracUtil.getMessage("pmtct.menu.maternity", null);
    } else if (request.getParameter("type").compareTo("2") == 0) {
        try {
            res = pmtct.getExpectedPatientsInMaternity();
            String patientHivStatus = "", partnerHivStatus = "";
            int allPositive = 0, allNegative = 0, negPos = 0, posNeg = 0, other = 0;

            for (Object ob : res) {
                int patientId = (Integer) ((Object[]) ob)[0];
                enc = tag.getCPNEncounterInfo(patientId);

                patientHivStatus = tag.observationValueByConcept(enc, PMTCTConstants.RESULT_OF_HIV_TEST);
                partnerHivStatus = tag.observationValueByConcept(enc, PMTCTConstants.TESTING_STATUS_OF_PARTNER);

                if (patientHivStatus.compareTo(partnerHivStatus) == 0 && patientHivStatus.compareTo(Context
                        .getConceptService().getConcept(PMTCTConstants.POSITIVE).getName().getName()) == 0)
                    allPositive += 1;
                else if (patientHivStatus.compareTo(partnerHivStatus) == 0 && patientHivStatus.compareTo(Context
                        .getConceptService().getConcept(PMTCTConstants.NEGATIVE).getName().getName()) == 0)
                    allNegative += 1;
                else if (patientHivStatus
                        .compareTo(Context.getConceptService().getConcept(PMTCTConstants.NEGATIVE).getName()
                                .getName()) == 0
                        && partnerHivStatus.compareTo(Context.getConceptService()
                                .getConcept(PMTCTConstants.POSITIVE).getName().getName()) == 0)
                    negPos += 1;
                else if (patientHivStatus
                        .compareTo(Context.getConceptService().getConcept(PMTCTConstants.POSITIVE).getName()
                                .getName()) == 0
                        && partnerHivStatus.compareTo(Context.getConceptService()
                                .getConcept(PMTCTConstants.NEGATIVE).getName().getName()) == 0)
                    posNeg += 1;
                else
                    other += 1;
            }

            Float percentage = 0f;
            if (allPositive > 0) {
                percentage = new Float(100 * allPositive / res.size());
                title = MohTracUtil.getMessage("pmtct.menu.allPositive", null);
                pieDataset.setValue(title + " (" + allPositive + " , " + percentage + "%)", percentage);
            }

            if (allNegative > 0) {
                percentage = new Float(100 * allNegative / res.size());
                title = MohTracUtil.getMessage("pmtct.menu.allNegative", null);
                pieDataset.setValue(title + " (" + allNegative + " , " + percentage + "%)", percentage);
            }

            if (posNeg > 0) {
                percentage = new Float(100 * posNeg / res.size());
                title = MohTracUtil.getMessage("pmtct.menu.posNeg", null);
                pieDataset.setValue(title + " (" + posNeg + " , " + percentage + "%)", percentage);
            }

            if (negPos > 0) {
                percentage = new Float(100 * negPos / res.size());
                title = MohTracUtil.getMessage("pmtct.menu.negPos", null);
                pieDataset.setValue(title + " (" + negPos + " , " + percentage + "%)", percentage);
            }

            if (other > 0) {
                percentage = new Float(100 * other / res.size());
                title = MohTracUtil.getMessage("pmtct.menu.otherStatus", null);
                pieDataset.setValue(title + " (" + other + " , " + percentage + "%)", percentage);
            }

            title = MohTracUtil.getMessage("pmtct.menu.expectedMaternityPatient", null);
            descriptionTitle = MohTracUtil.getMessage("pmtct.menu.partnerStatus", null);
            concept = null;
        } catch (Exception e) {
            e.printStackTrace();
        }
    } else if (request.getParameter("type").compareTo("3") == 0) {
        log.info(">>>>>>>>>>>>>>GRAPHICS>>patientsTestedInDeliveryRoom>>>Starting...");

        try {
            //            Date myDate = new Date("1/1/" + ((new Date()).getYear() + 1900));
            //            startDate = df.format(myDate);
            Date today = new Date();
            Date oneYearFromNow = new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS);

            endDate = df.format(today);
            startDate = df.format(oneYearFromNow);

            log.info(">>>>>>>>>>>>>>GRAPHICS>>patientsTestedInDeliveryRoom>>>startdate=" + startDate
                    + "  -  endDate" + endDate);

            dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - "
                    + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")";
            res = pmtct.getpatientsTestedInDeliveryRoom(startDate, endDate);
            log.info(">>>>>>>>>>>>>>GRAPHICS>>patientsTestedInDeliveryRoom>>>Result=" + res.size());
            //            log.info(">>>>>>>>>>>>>>MaternityPieChartView>> startdate=" + startDate + "----- enddate=" + endDate
            //                    + "<<=====>>" + res.size());

            List<String> resultOfHIVTestOptions = new ArrayList<String>();
            List<Integer> resultOfHIVTestValues = new ArrayList<Integer>();
            Collection<ConceptAnswer> answers = Context.getConceptService()
                    .getConcept(PMTCTConstants.RESULT_HIV_TEST_IN_DELIVERY_ROOM).getAnswers();
            for (ConceptAnswer str : answers) {
                resultOfHIVTestOptions.add(str.getAnswerConcept().getName().getName());
                resultOfHIVTestValues.add(0);
            }
            resultOfHIVTestOptions.add("Others");
            resultOfHIVTestValues.add(0);

            for (Object ob : res) {
                int patientId = (Integer) ((Object[]) ob)[0];

                Encounter matEnc = tag.getMaternityEncounterInfo(patientId);

                String hivTestResult = tag.observationValueByConcept(matEnc,
                        PMTCTConstants.RESULT_HIV_TEST_IN_DELIVERY_ROOM);

                int i = 0;
                boolean found = false;
                for (String s : resultOfHIVTestOptions) {
                    if ((s.compareToIgnoreCase(hivTestResult)) == 0) {
                        resultOfHIVTestValues.set(i, resultOfHIVTestValues.get(i) + 1);
                        found = true;
                    }
                    i++;
                }

                if (!found) {
                    resultOfHIVTestValues.set(resultOfHIVTestValues.size() - 1,
                            resultOfHIVTestValues.get(resultOfHIVTestValues.size() - 1) + 1);
                }

            }

            int i = 0;
            for (String s : resultOfHIVTestOptions) {
                if (resultOfHIVTestValues.get(i) > 0) {
                    Float percentage = new Float(100 * resultOfHIVTestValues.get(i) / res.size());
                    pieDataset.setValue(s + " (" + resultOfHIVTestValues.get(i) + " , " + percentage + "%)",
                            percentage);
                }
                i++;
            }
            concept = Context.getConceptService()
                    .getConcept(PMTCTConfigurationUtils.getHivTestInDeliveryRoomConceptId());
            log.info(">>>>>>>>>>>>>>GRAPHICS>>patientsTestedInDeliveryRoom>>>End");
        } catch (Exception ex) {
            log.error(">>>>>>>>>An error occured when trying to create piechart...");
            ex.printStackTrace();
        }

        title = appContext.getMessage("pmtct.menu.maternity", null, userContext.getLocale());
    }

    JFreeChart chart = ChartFactory.createPieChart(title + " : "
            + ((null != concept) ? concept.getPreferredName(userContext.getLocale()) + dateInterval
                    : descriptionTitle),
            pieDataset, true, true, false);

    return chart;
}

From source file:ca.sqlpower.architect.swingui.ProfileGraphPanel.java

public static JFreeChart createTopNChart(ColumnProfileResult cr, int rowCount) {
    JFreeChart chart;//from w  ww . j a va  2s  . c  om
    List<ColumnValueCount> valueCounts = cr.getValueCount();
    SQLColumn col = cr.getProfiledObject();
    DefaultCategoryDataset catDataset = new DefaultCategoryDataset();

    long otherDataCount = rowCount;
    for (ColumnValueCount vc : valueCounts) {
        catDataset.addValue(vc.getCount(), col.getName(),
                vc.getValue() == null ? "null" : vc.getValue().toString());
        otherDataCount -= vc.getCount();
    }
    int numberOfTopValues = catDataset.getColumnCount();
    if (otherDataCount > 0) {
        catDataset.addValue(otherDataCount, col.getName(), "Other Values");
    }

    String chartTitle;
    if (numberOfTopValues == 10) {
        chartTitle = "Top " + numberOfTopValues + " most common values";
    } else {
        chartTitle = "All " + numberOfTopValues + " values";
    }

    chart = ChartFactory.createPieChart(chartTitle, new CategoryToPieDataset(catDataset, TableOrder.BY_ROW, 0),
            false, true, false);
    if (chart.getPlot() instanceof PiePlot) {
        ((PiePlot) chart.getPlot()).setLabelGenerator(new StandardPieSectionLabelGenerator("{0} [{1}]"));
    }
    return chart;
}

From source file:org.yccheok.jstock.gui.BuyPortfolioChartJDialog.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;

        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)));
                }/*w  w w . ja  va 2  s .c o m*/
            } 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 > 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) {
                dataExs.add(DataEx.newInstance(symbol.toString(),
                        portfolioTreeTableModel.getCurrentValue(transactionSummary)));
            } else {
                dataExs.add(DataEx.newInstance(symbol.toString(),
                        portfolioTreeTableModel.getCurrentValue(transactionSummary) / 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) {
        data.setValue(dataEx.data, dataEx.value);
    }

    // create a chart...
    return ChartFactory.createPieChart(name, data, true, true, true);
}

From source file:hr.restart.util.chart.ChartXY.java

/**
 * Creates a PIE CHART/*from www .jav  a  2s.  co m*/
 * @param dataset The org.jfree.data.PieDataset
 * @param title The title
 * @return org.jfree.chart.JFreeChart
 */
private JFreeChart createPieChart(final PieDataset dataset, String title) {

    final JFreeChart chart = ChartFactory.createPieChart(title, // chart title
            dataset, // data
            false, // include legend
            true, false);

    chart.setBackgroundPaint(Color.white);

    Plot plot = chart.getPlot();

    // the subtitle from the combobox        
    if (jcb != null)
        chart.addSubtitle(new TextTitle(jcb.getSelectedItem().toString()));

    //subtitles setted by the user.
    if (getSubtitles() != null)
        for (int i = 0; i < getSubtitles().size(); i++) {
            chart.addSubtitle(new TextTitle(getSubtitles().get(i).toString()));
        }

    final PiePlot piePlot = (PiePlot) plot;
    piePlot.setLabelFont(new Font("SansSerif", Font.PLAIN, 12));
    piePlot.setNoDataMessage("NO DATA!");
    piePlot.setCircular(false);
    piePlot.setLabelLinkPaint(Color.red);
    piePlot.setLabelGap(0.02);

    return chart;
}

From source file:dbseer.gui.chart.DBSeerChartFactory.java

public static JFreeChart createPieChart(String chartName, DBSeerDataSet dataset) throws Exception {
    StatisticalPackageRunner runner = DBSeerGUI.runner;

    runner.eval("[title legends Xdata Ydata Xlabel Ylabel timestamp] = plotter.plot" + chartName + ";");

    String title = runner.getVariableString("title");
    Object[] legends = (Object[]) runner.getVariableCell("legends");
    Object[] xCellArray = (Object[]) runner.getVariableCell("Xdata");
    Object[] yCellArray = (Object[]) runner.getVariableCell("Ydata");
    String xLabel = runner.getVariableString("Xlabel");
    String yLabel = runner.getVariableString("Ylabel");
    timestamp = runner.getVariableDouble("timestamp");

    DefaultPieDataset pieDataSet = new DefaultPieDataset();

    int numLegends = legends.length;
    int numXCellArray = xCellArray.length;
    int numYCellArray = yCellArray.length;
    int dataCount = 0;

    if (numXCellArray != numYCellArray) {
        JOptionPane.showMessageDialog(null, "The number of X dataset and Y dataset does not match.",
                "The number of X dataset and Y dataset does not match.", JOptionPane.ERROR_MESSAGE);
        return null;
    }/* w  w  w .  ja  v a 2s  .co m*/

    final java.util.List<String> transactionTypeNames = dataset.getTransactionTypeNames();

    for (int i = 0; i < numYCellArray; ++i) {
        double[] xArray = (double[]) xCellArray[i];
        runner.eval("yArraySize = size(Ydata{" + (i + 1) + "});");
        runner.eval("yArray = Ydata{" + (i + 1) + "};");
        double[] yArraySize = runner.getVariableDouble("yArraySize");
        double[] yArray = runner.getVariableDouble("yArray");

        int xLength = xArray.length;
        int row = (int) yArraySize[0];
        int col = (int) yArraySize[1];

        for (int c = 0; c < col; ++c) {
            if (c < transactionTypeNames.size()) {
                String name = transactionTypeNames.get(c);
                if (!name.isEmpty()) {
                    //                     pieDataSet.setValue(name, new Double(yArray.getRealValue(0, c)));
                    pieDataSet.setValue(name, yArray[c]);
                } else {
                    //                     pieDataSet.setValue("Transaction Type " + (c+1), yArray.getRealValue(0, c));
                    pieDataSet.setValue("Transaction Type " + (c + 1), yArray[c]);
                }
            }
        }
    }

    JFreeChart chart = ChartFactory.createPieChart(title, pieDataSet, true, true, false);
    PiePlot plot = (PiePlot) chart.getPlot();
    plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}: {1} ({2})", new DecimalFormat("0"),
            new DecimalFormat("0%")));
    plot.setLegendLabelGenerator(new PieSectionLabelGenerator() {
        @Override
        public String generateSectionLabel(PieDataset pieDataset, Comparable comparable) {
            return (String) comparable;
        }

        @Override
        public AttributedString generateAttributedSectionLabel(PieDataset pieDataset, Comparable comparable) {
            return null;
        }
    });
    return chart;
}