List of usage examples for org.jfree.chart.plot CategoryPlot setShadowGenerator
public void setShadowGenerator(ShadowGenerator generator)
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"); } }