Example usage for org.jfree.chart.plot CategoryPlot setShadowGenerator

List of usage examples for org.jfree.chart.plot CategoryPlot setShadowGenerator

Introduction

In this page you can find the example usage for org.jfree.chart.plot CategoryPlot setShadowGenerator.

Prototype

public void setShadowGenerator(ShadowGenerator generator) 

Source Link

Document

Sets the shadow generator for the plot and sends a PlotChangeEvent to all registered listeners.

Usage

From source file:de.fau.amos.ChartRenderer.java

/**
 * Creates chart (JFreeChart object) from dataset. Is used when Chart Type "Location-Format" or "Format-Location" is selected.
 * /*from w w  w. jav a2  s  . co m*/
 * @param collection Collection that provides all data that should be displayed.
 * @param unit Unit: kWh or kWh/TNF
 * @return Returns finished JFreeChart object.
 */
private JFreeChart createLocationFormatChart(DefaultCategoryDataset collection, String unit) {

    JFreeChart barChart = ChartFactory.createBarChart("Production Consumption", "",
            ("1".equals(unit) ? "Energy Consumption [kWh]"
                    : ("2".equals(unit) ? "Energy Consumption [kWh/TNF]"
                            : ("3".equals(unit) ? "Produced Pieces [TNF]" : ""))),
            collection, PlotOrientation.VERTICAL, true, true, false);

    //graphical modifications for BarChart
    barChart.setBackgroundPaint(Color.white);
    CategoryPlot plot = barChart.getCategoryPlot();
    plot.setBackgroundPaint(Color.white);
    plot.setDomainGridlinePaint(Color.white);
    plot.setRangeGridlinePaint(Color.white);
    plot.setAxisOffset(new RectangleInsets(0, 0, 0, 0));
    plot.setShadowGenerator(null);

    //Barmodifications
    BarRenderer renderer = (BarRenderer) plot.getRenderer();
    renderer.setBarPainter(new StandardBarPainter());
    renderer.setItemMargin(0);
    renderer.setShadowVisible(false);
    plot.setRenderer(renderer);

    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);/*  w  ww.j  a  v a 2s.c o  m*/
            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");
    }
}