List of usage examples for org.jfree.chart ChartFactory createStackedBarChart
public static JFreeChart createStackedBarChart(String title, String domainAxisLabel, String rangeAxisLabel, CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls)
From source file:canreg.client.gui.dataentry.PDSEditorInternalFrame.java
private void updateChart() { DefaultKeyedValues2DDataset dataset = getJChartDataset(); chart = ChartFactory.createStackedBarChart(nameTextField.getText(), java.util.ResourceBundle.getBundle("canreg/client/gui/dataentry/resources/PDSEditorInternalFrame") .getString("AGE_GROUP"), // domain axis label sourceTextField.getText(), // range axis label dataset, // data PlotOrientation.HORIZONTAL, //orientation true, // include legend true, // tooltips false // urls );// w w w . j a va 2 s .com }
From source file:DAO.DataAccessObject.java
/** * Gibt ein Balkendiagramm fr Umsatz pro Artikel. * @return BarChart/*from w w w.j ava 2 s . c o m*/ */ public JFreeChart gibChartArtikelAbsatz() { //Charts und Datasets. JFreeChart barChart; DefaultCategoryDataset dataset; HashMap<String, Double> artikelMenge = null; String name = ""; dataset = new DefaultCategoryDataset(); //Hole Daten aus DB artikelMenge = this.gibUmsatzProArtikel(); //Iterator Iterator<Map.Entry<String, Double>> i = artikelMenge.entrySet().iterator(); //Iteriere ber alle Eintrge while (i.hasNext()) { Map.Entry entr = i.next(); String artikel = (String) entr.getKey(); Double umsatz = (Double) entr.getValue(); dataset.setValue(umsatz, "Artikel Umsatz in ", artikel); } //Diagramm erstellen. barChart = ChartFactory.createStackedBarChart("Umsatz pro Artikel " + "(Gesamt)", "Artikel", "Umsatz in ", dataset, PlotOrientation.VERTICAL, true, true, true); return barChart; }
From source file:DAO.DataAccessObject.java
/** * Gibt ein Diagramm zur bestellten Artikelmenge zurck. * @return BarChart/*from w w w . j a va 2 s . co m*/ */ public JFreeChart gibChartArtikelMenge() { //Charts und Datasets. JFreeChart barChart; DefaultCategoryDataset dataset; HashMap<String, Integer> artikelMenge = null; String name = ""; dataset = new DefaultCategoryDataset(); artikelMenge = this.gibVerkauftProArtikel(); Iterator<Map.Entry<String, Integer>> i = artikelMenge.entrySet().iterator(); while (i.hasNext()) { Map.Entry entr = i.next(); String artikel = (String) entr.getKey(); Integer mng = (Integer) entr.getValue(); dataset.setValue(mng, "Menge (Stck)", artikel); } //Diagramm erstellen. barChart = ChartFactory.createStackedBarChart("Verkaufsmenge " + "pro Artikel (Gesamt)", "Artikel", "Menge (Stck)", dataset, PlotOrientation.VERTICAL, true, true, true); return barChart; }
From source file:atlas.kingj.roi.FrmMain.java
private void UpdateROIMaint(Machine[] mach) { //ResetStatusLabel(); if (results != null && RoiData.maintenance.size() >= results.getSize()) { DefaultCategoryDataset maintdata = new DefaultCategoryDataset(); String series1 = "Basic Costs"; String series2 = "Production Loss"; for (int i = 0; i < results.getSize(); ++i) { String name = results.get(i).getModel() + ": " + results.get(i).getName(); maintdata.addValue(RoiData.maintenance.get(listCompareRoi.getSelectedIndices()[i]).totcost, series1, name);/*ww w . j a va 2s . c om*/ maintdata.addValue( RoiData.value * RoiData.maintenance.get(listCompareRoi.getSelectedIndices()[i]).tothours * results.get(i).getResult(ResultType.WEIGHT, ResultTime.HOUR) / 1000, series2, name); RoiResults.get(i).prodloss = RoiData.value * RoiData.maintenance.get(listCompareRoi.getSelectedIndices()[i]).tothours * results.get(i).getResult(ResultType.WEIGHT, ResultTime.HOUR) / 1000; RoiResults.get(i).partcosts = RoiData.maintenance .get(listCompareRoi.getSelectedIndices()[i]).totcost; RoiResults .get(i).maintcost = RoiData.maintenance.get(listCompareRoi.getSelectedIndices()[i]).totcost + RoiData.value * RoiData.maintenance.get(listCompareRoi.getSelectedIndices()[i]).tothours * results.get(i).getResult(ResultType.WEIGHT, ResultTime.HOUR) / 1000; } // draw graph //JFreeChart chart = ChartFactory.createBarChart("", "", "Maintenance Cost ( / year)", maintdata, PlotOrientation.VERTICAL, false, true, false); JFreeChart chart = ChartFactory.createStackedBarChart("", "", "Maintenance Cost ( / year)", maintdata, PlotOrientation.VERTICAL, true, true, false); CategoryPlot cp = chart.getCategoryPlot(); cp.setBackgroundPaint(new Color(240, 240, 240)); cp.setRangeGridlinePaint(Color.gray); CategoryItemRenderer renderer = new CustomRenderer( new Paint[] { new Color(255, 85, 85), new Color(85, 85, 255), new Color(85, 255, 85), new Color(251, 251, 0), new Color(86, 228, 200) }); //cp.setRenderer(renderer); cp.setShadowGenerator(new DefaultShadowGenerator(7, Color.DARK_GRAY, 1f, 5, -Math.PI / 4)); BarRenderer b = (BarRenderer) cp.getRenderer(); b.setBarPainter(new StandardBarPainter()); renderer.setBaseToolTipGenerator( new StandardCategoryToolTipGenerator("{1}, {2}", NumberFormat.getInstance())); ValueAxis va = cp.getRangeAxis(); va.setLabelFont(new Font("Tahoma", Font.BOLD, 13)); RoiResults.setMaintGraph(chart); // Display results graph try { pnlGraphMaint.remove(lblNoGraph3); } catch (Exception e) { } try { pnlGraphMaint.remove(pnlGraphMaintInner); } catch (Exception e) { } pnlGraphMaintInner = new ChartPanel(RoiResults.getMaintGraph()); pnlGraphMaintInner.setBounds(2, 2, 435, 238); pnlGraphMaintInner.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { if (e.getButton() == MouseEvent.BUTTON1 && pnlGraphMaintInner.contains(e.getPoint()) && RoiResults != null && RoiResults.getMaintGraph() != null) { JFreeChart chart = RoiResults.getMaintGraph(); JFrame pop = new JFrame(); pop.getContentPane().add(new ChartPanel(chart)); try { pop.setIconImage(ImageIO.read(FrmMain.class.getResourceAsStream("/atlas/logo.png"))); } catch (Exception e11) { } pop.setTitle("ROI Graph"); pop.pack(); pop.setLocationRelativeTo(frmTitanRoiCalculator); pop.setVisible(true); } } }); pnlGraphMaint.add(pnlGraphMaintInner); pnlGraphMaintInner.repaint(); // Update production loss stat try { int sel = cmbMachinesmaintenance.getSelectedIndex(); if (arrayContains(listCompareRoi.getSelectedIndices(), sel)) lblProdLoss .setText("" + formatDecimal(RoiData.value * RoiData.maintenance.get(sel).tothours * results.get(arrayIndex(listCompareRoi.getSelectedIndices(), sel)) .getResult(ResultType.WEIGHT, ResultTime.HOUR) / 1000) + " / year"); else lblProdLoss.setText("Machine not selected"); } catch (Exception e) { lblProdLoss.setText("0.00 / year"); } // marginal improvement label int ind1 = cmbMargMaint1.getSelectedIndex(); int ind2 = cmbMargMaint2.getSelectedIndex(); double diff = maintdata.getValue(0, ind1).doubleValue() + maintdata.getValue(1, ind1).doubleValue() - maintdata.getValue(0, ind2).doubleValue() - maintdata.getValue(1, ind2).doubleValue(); lblMarginalMaint.setText("" + formatDecimal(diff) + " per annum"); } }