Example usage for org.jfree.chart ChartFactory createStackedBarChart

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

Introduction

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

Prototype

public static JFreeChart createStackedBarChart(String title, String domainAxisLabel, String rangeAxisLabel,
        CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) 

Source Link

Document

Creates a stacked bar chart with default settings.

Usage

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