Example usage for org.jfree.chart.renderer.xy ClusteredXYBarRenderer ClusteredXYBarRenderer

List of usage examples for org.jfree.chart.renderer.xy ClusteredXYBarRenderer ClusteredXYBarRenderer

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.xy ClusteredXYBarRenderer ClusteredXYBarRenderer.

Prototype

public ClusteredXYBarRenderer(double margin, boolean centerBarAtStartValue) 

Source Link

Document

Constructs a new XY clustered bar renderer.

Usage

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;

}