List of usage examples for org.jfree.chart.renderer.xy ClusteredXYBarRenderer ClusteredXYBarRenderer
public ClusteredXYBarRenderer(double margin, boolean centerBarAtStartValue)
From source file:org.jfree.chart.demo.ClusteredXYBarRendererDemo1.java
private static JFreeChart createChart(String s, IntervalXYDataset intervalxydataset) { JFreeChart jfreechart = ChartFactory.createXYBarChart(s, null, true, "Y", intervalxydataset, PlotOrientation.VERTICAL, true, true, false); jfreechart.setBackgroundPaint(Color.white); XYPlot xyplot = (XYPlot) jfreechart.getPlot(); xyplot.setBackgroundPaint(Color.lightGray); xyplot.setDomainGridlinePaint(Color.white); xyplot.setRangeGridlinePaint(Color.white); ClusteredXYBarRenderer clusteredxybarrenderer = new ClusteredXYBarRenderer(0.20000000000000001D, false); xyplot.setRenderer(clusteredxybarrenderer); return jfreechart; }
From source file:maltcms.ui.fileHandles.serialized.JFCPanel.java
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed String s = (String) jComboBox1.getSelectedItem(); Logger.getLogger(getClass().getName()).log(Level.INFO, "Selected: {0}", s); XYPlot oldPlot = this.chartPanel.getChart().getXYPlot(); XYItemRenderer xyir = oldPlot.getRenderer(); if (xyir instanceof XYBlockRenderer) { jComboBox1.setEnabled(false);//from ww w . ja va 2 s. c o m return; } this.chartPanel.getChart().getXYPlot().setRenderer(null); int datasets = this.chartPanel.getChart().getXYPlot().getSeriesCount(); XYItemRenderer newRenderer = null; if (xyir instanceof XYLineAndShapeRenderer) { if (s.equalsIgnoreCase("lines")) { ((XYLineAndShapeRenderer) xyir).setBaseLinesVisible(true); ((XYLineAndShapeRenderer) xyir).setBaseShapesVisible(false); newRenderer = xyir; //this.chartPanel.getChart().getXYPlot().setRenderer(newRenderer); } else if (s.equalsIgnoreCase("lines and shapes")) { ((XYLineAndShapeRenderer) xyir).setBaseLinesVisible(true); ((XYLineAndShapeRenderer) xyir).setBaseShapesVisible(true); newRenderer = xyir; //this.chartPanel.getChart().getXYPlot().setRenderer(newRenderer); } else if (s.equalsIgnoreCase("shapes")) { ((XYLineAndShapeRenderer) xyir).setBaseLinesVisible(false); ((XYLineAndShapeRenderer) xyir).setBaseShapesVisible(true); newRenderer = xyir; } else if (s.equalsIgnoreCase("bars")) { XYBarRenderer xyl = new XYBarRenderer(0); StandardXYBarPainter sp = new StandardXYBarPainter(); xyl.setBarPainter(sp); xyl.setShadowVisible(false); xyl.clearSeriesPaints(true); xyl.setAutoPopulateSeriesFillPaint(false); xyl.setAutoPopulateSeriesOutlinePaint(false); xyl.setAutoPopulateSeriesPaint(false); newRenderer = xyl; } else if (s.equalsIgnoreCase("clustered bars")) { ClusteredXYBarRenderer xyl = new ClusteredXYBarRenderer(0, true); StandardXYBarPainter sp = new StandardXYBarPainter(); xyl.setBarPainter(sp); xyl.setShadowVisible(false); xyl.clearSeriesPaints(true); xyl.setAutoPopulateSeriesFillPaint(false); xyl.setAutoPopulateSeriesOutlinePaint(false); xyl.setAutoPopulateSeriesPaint(false); newRenderer = xyl; } } else { if (s.equalsIgnoreCase("lines")) { newRenderer = new XYLineAndShapeRenderer(true, false); //this.chartPanel.getChart().getXYPlot().setRenderer(newRenderer); } else if (s.equalsIgnoreCase("lines and shapes")) { newRenderer = new XYLineAndShapeRenderer(true, true); //this.chartPanel.getChart().getXYPlot().setRenderer(newRenderer); } else if (s.equalsIgnoreCase("shapes")) { newRenderer = new XYLineAndShapeRenderer(false, true); //this.chartPanel.getChart().getXYPlot().setRenderer(newRenderer); } else if (s.equalsIgnoreCase("bars")) { XYBarRenderer xyl = new XYBarRenderer(0); StandardXYBarPainter sp = new StandardXYBarPainter(); xyl.setBarPainter(sp); xyl.setShadowVisible(false); xyl.clearSeriesPaints(true); xyl.setAutoPopulateSeriesFillPaint(false); xyl.setAutoPopulateSeriesOutlinePaint(false); xyl.setAutoPopulateSeriesPaint(false); newRenderer = xyl; } else if (s.equalsIgnoreCase("clustered bars")) { ClusteredXYBarRenderer xyl = new ClusteredXYBarRenderer(0, true); StandardXYBarPainter sp = new StandardXYBarPainter(); xyl.setBarPainter(sp); xyl.setShadowVisible(false); xyl.clearSeriesPaints(true); xyl.setAutoPopulateSeriesFillPaint(false); xyl.setAutoPopulateSeriesOutlinePaint(false); xyl.setAutoPopulateSeriesPaint(false); newRenderer = xyl; } } newRenderer.setBasePaint(xyir.getBasePaint()); newRenderer.setBaseOutlinePaint(xyir.getBaseOutlinePaint()); newRenderer.setBaseItemLabelPaint(xyir.getBaseItemLabelPaint()); // XYPlot xyp = new XYPlot(); // for(int i = 0;i<oldPlot.getRangeAxisCount();i++) { // xyp.setRangeAxis(i, oldPlot.getRangeAxis(i)); // } // for(int i = 0;i<oldPlot.getDomainAxisCount();i++) { // xyp.setDomainAxis(i, oldPlot.getDomainAxis(i)); // } for (int i = 0; i < datasets; i++) { // XYDataset xyds = oldPlot.getDataset(i); // xyp.setDataset(i, xyds); newRenderer.setSeriesPaint(i, xyir.getSeriesPaint(i)); newRenderer.setSeriesOutlinePaint(i, xyir.getSeriesOutlinePaint(i)); newRenderer.setSeriesItemLabelPaint(i, xyir.getSeriesItemLabelPaint(i)); } oldPlot.setRenderer(newRenderer); // this.chartPanel.setChart(new JFreeChart(xyp)); }
From source file:jgnash.ui.report.compiled.MonthlyAccountBalanceChartCompare.java
private JFreeChart createVerticalXYBarChart(final Account a, final Account a2) { DateFormat df = new SimpleDateFormat("MM/yy"); TimeSeriesCollection data = createTimeSeriesCollection(a, a2); DateAxis dateAxis = new DateAxis(rb.getString("Column.Date")); dateAxis.setTickUnit(new DateTickUnit(DateTickUnitType.MONTH, 1, df)); dateAxis.setTickMarkPosition(DateTickMarkPosition.MIDDLE); // if (a.getTransactionCount() > 0) { Date start = DateUtils.asDate(DateUtils.getFirstDayOfTheMonth(startDateField.getLocalDate())); Date end = DateUtils.asDate(DateUtils.getLastDayOfTheMonth(endDateField.getLocalDate())); dateAxis.setRange(start, end);//from w ww . ja v a 2s . c o m // } NumberAxis valueAxis = new NumberAxis( rb.getString("Column.Balance") + "-" + a.getCurrencyNode().getSymbol()); StandardXYToolTipGenerator tooltipGenerator = new StandardXYToolTipGenerator("{1}, {2}", df, NumberFormat.getNumberInstance()); ClusteredXYBarRenderer renderer = new ClusteredXYBarRenderer(0.2, false); renderer.setBaseToolTipGenerator(tooltipGenerator); XYPlot plot = new XYPlot(data, dateAxis, valueAxis, renderer); String title; if (jcb_compare.isSelected()) { title = a.getPathName() + " vs " + a2.getPathName(); } else { title = rb.getString("Title.AccountBalance") + " - " + a.getPathName(); } JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, false); chart.setBackgroundPaint(null); return chart; }
From source file:de.fau.amos.ChartRenderer.java
/** * Creates Chart with Bars (JFreeChart object) from TimeSeriesCollection. Is used when granularity is set to days, months or years. * Adjusts display of the chart, not the values itself. * /*from www . j av a 2 s . co m*/ * @param collection TimeSeriesCollection that should be used as basis of chart. * @param timeGranularity Selected granularity. Value is similar to granularity contained in TimeSeriesCollection "collection". * @param time first element of time that is displayed. Is used for caption text and axis text. * @param unit Unit of displayed values (kWh or kWh/TNF). * @return Returns finished JFreeChart object. */ private JFreeChart createTimeBarChart(TimeSeriesCollection collection, String timeGranularity, String time, String unit) { String xAxisLabel = null; // Modification of X-Axis Label (depending on the granularity) int month; String monthString = null; switch (timeGranularity) { //for Case "0" see method "createTimeLineChart" case "1": month = Integer.parseInt(time.substring(5, 7)); monthString = new DateFormatSymbols(Locale.US).getMonths()[month - 1]; xAxisLabel = "" + monthString + " " + time.substring(0, 4); break; case "2": xAxisLabel = time.substring(0, 4); break; case "3": xAxisLabel = "Years"; break; default: xAxisLabel = "Timespan"; } JFreeChart barChart = ChartFactory.createXYBarChart("Bar Chart", // title xAxisLabel, // x-axis label true, // date axis? // "Energy Consumption "+("1".equals(unit)?"[kWh]":("2".equals(unit)?"[kWh/TNF]":("3".equals(unit)?"[TNF]":""))), // y-axis label ("1".equals(unit) ? "Energy Consumption [kWh]" : ("2".equals(unit) ? "Energy Consumption [kWh/TNF]" : ("3".equals(unit) ? "Produced Pieces [TNF]" : ""))), collection, // data PlotOrientation.VERTICAL, // orientation true, // create legend? true, // generate tooltips? false // generate URLs? ); //graphical modifications for BarChart barChart.setBackgroundPaint(Color.white); XYPlot plot = barChart.getXYPlot(); plot.setBackgroundPaint(Color.white); plot.setDomainGridlinePaint(Color.white); plot.setRangeGridlinePaint(Color.white); plot.setAxisOffset(new RectangleInsets(0, 0, 0, 0)); //Axis modification: Set Axis X-Value directly below the bars DateAxis dateAxis = (DateAxis) plot.getDomainAxis(); dateAxis.setTickMarkPosition(DateTickMarkPosition.MIDDLE); //Axis modification: Remove Values from x-Axis that belong to former/later time element (Month/Day) dateAxis.setLowerMargin(0.01); dateAxis.setUpperMargin(0.01); //Axis modification: Axis values (depending on timeGranularity) if (timeGranularity.equals("1")) { dateAxis.setTickUnit( new DateTickUnit(DateTickUnitType.DAY, 2, new SimpleDateFormat(" dd. ", Locale.US))); } if (timeGranularity.equals("2")) { dateAxis.setTickUnit( new DateTickUnit(DateTickUnitType.MONTH, 1, new SimpleDateFormat(" MMM ", Locale.US))); } if (timeGranularity.equals("3")) { dateAxis.setTickUnit( new DateTickUnit(DateTickUnitType.YEAR, 1, new SimpleDateFormat(" yyyy ", Locale.US))); } ClusteredXYBarRenderer clusteredxybarrenderer = new ClusteredXYBarRenderer(0.25, false); clusteredxybarrenderer.setShadowVisible(false); clusteredxybarrenderer.setBarPainter(new StandardXYBarPainter()); plot.setRenderer(clusteredxybarrenderer); return barChart; }