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