Example usage for org.jfree.chart.renderer.category GroupedStackedBarRenderer setSeriesPaint

List of usage examples for org.jfree.chart.renderer.category GroupedStackedBarRenderer setSeriesPaint

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.category GroupedStackedBarRenderer setSeriesPaint.

Prototype

public void setSeriesPaint(int series, Paint paint) 

Source Link

Document

Sets the paint used for a series and sends a RendererChangeEvent to all registered listeners.

Usage

From source file:org.psystems.dicom.browser.server.stat.StatDailyLoadChartServlet2.java

private JFreeChart getChart(CategoryDataset dataset) {

    final JFreeChart chart = ChartFactory.createStackedBarChart("Stacked Bar Chart Demo 4", // chart title
            "Category", // domain axis label
            "", // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // the plot orientation
            true, // legend
            true, // tooltips
            false // urls
    );//from  w w w  .  ja  va 2  s  .c om

    TextTitle title = new TextTitle("   ()", labelFont);
    title.setPaint(new Color(68, 99, 156));
    chart.setTitle(title);

    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    map.mapKeyToGroup("product 1 (US)", "G1");
    map.mapKeyToGroup("product 1 (Europe)", "G1");

    renderer.setSeriesToGroupMap(map);

    BarPainter b = new StandardBarPainter();
    //        BarPainter b = new GradientBarPainter(0,0.9,0.9);

    renderer.setBarPainter(b);

    renderer.setSeriesPaint(0, color1);
    renderer.setSeriesPaint(1, color2);

    SubCategoryAxis domainAxis = new SubCategoryAxis("DCM  / JPG ");
    domainAxis.setCategoryMargin(0.05);
    domainAxis.setTickLabelFont(dateFont);
    //        domainAxis.addSubCategory("Product 1");
    //        domainAxis.addSubCategory("Product 2");
    //        domainAxis.addSubCategory("Product 3");

    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setDomainAxis(domainAxis);
    plot.setBackgroundPaint(Color.white);
    plot.setDomainGridlinePaint(Color.red);
    plot.setRangeGridlinePaint(Color.lightGray);

    ValueAxis v = plot.getRangeAxis();
    v.setTickLabelFont(dateFont);
    //      plot.setRangeAxis(ValueAxis);

    //plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
    plot.setRenderer(renderer);
    plot.setFixedLegendItems(createLegendItems());
    return chart;

}

From source file:org.psystems.dicom.browser.server.stat.StatClientRequestsChartServlet2.java

private JFreeChart getChart(CategoryDataset dataset) {

    final JFreeChart chart = ChartFactory.createStackedBarChart("Stacked Bar Chart Demo 4", // chart title
            "Category", // domain axis label
            "", // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // the plot orientation
            true, // legend
            true, // tooltips
            false // urls
    );//from   ww w  .j a v a  2  s  .  c om

    TextTitle title = new TextTitle("? ? ? (.)",
            labelFont);
    title.setPaint(new Color(68, 99, 156));
    chart.setTitle(title);

    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    map.mapKeyToGroup("product 1 (US)", "G1");
    map.mapKeyToGroup("product 1 (Europe)", "G1");

    renderer.setSeriesToGroupMap(map);

    BarPainter b = new StandardBarPainter();
    //        BarPainter b = new GradientBarPainter(0,0.9,0.9);

    renderer.setBarPainter(b);

    renderer.setSeriesPaint(0, color1);
    renderer.setSeriesPaint(1, color2);

    SubCategoryAxis domainAxis = new SubCategoryAxis(" / ");
    domainAxis.setCategoryMargin(0.05);
    domainAxis.setTickLabelFont(dateFont);
    //        domainAxis.addSubCategory("Product 1");
    //        domainAxis.addSubCategory("Product 2");
    //        domainAxis.addSubCategory("Product 3");

    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setDomainAxis(domainAxis);
    plot.setBackgroundPaint(Color.white);
    plot.setDomainGridlinePaint(Color.red);
    plot.setRangeGridlinePaint(Color.lightGray);

    ValueAxis v = plot.getRangeAxis();
    v.setTickLabelFont(dateFont);
    //      plot.setRangeAxis(ValueAxis);

    //plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
    plot.setRenderer(renderer);
    plot.setFixedLegendItems(createLegendItems());
    return chart;

}

From source file:playground.yu.utils.charts.StackedBarChart.java

public void addSeries(String[] rowKeys, String[] columnKeys, String[] subCategoryKeys, double[][] values) {
    for (int rowIdx = 0; rowIdx < values.length; rowIdx++) {
        for (int columnIdx = 0; columnIdx < values[rowIdx].length; columnIdx++) {
            dataset.addValue(Double.valueOf(values[rowIdx][columnIdx]), rowKeys[rowIdx], columnKeys[columnIdx]);
        }/*from  ww  w.ja va2s . c o m*/
    }

    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();

    KeyToGroupMap map = new KeyToGroupMap(subCategoryKeys[0]);
    int size = rowKeys.length / subCategoryKeys.length;
    for (int rowIdx = 0; rowIdx < rowKeys.length; rowIdx++) {
        map.mapKeyToGroup(rowKeys[rowIdx], subCategoryKeys[rowIdx / size]);
    }
    renderer.setSeriesToGroupMap(map);

    Color[] paints = new Color[size];
    Random random = MatsimRandom.getLocalInstance();
    for (int i = 0; i < paints.length; i++) {
        paints[i] = new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256));
    }
    for (int i = 0; i < rowKeys.length; i++) {
        renderer.setSeriesPaint(i, paints[i % size]);
    }

    CategoryPlot plot = (CategoryPlot) chart.getPlot();

    SubCategoryAxis domainAxis = new SubCategoryAxis("subCategory / column");
    for (int subCtgr = 0; subCtgr < subCategoryKeys.length; subCtgr++) {
        domainAxis.addSubCategory(subCategoryKeys[subCtgr]);
    }

    plot.setDomainAxis(domainAxis);

    plot.setRenderer(renderer);
    // plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
}

From source file:Simulator.PerformanceCalculation.java

public JPanel cost2() {

    CategoryDataset dataset = createDataset();
    JFreeChart stackedChart = ChartFactory.createStackedBarChart("Cost", "Surgeon ID", "$", dataset,
            PlotOrientation.VERTICAL, true, true, false);
    String series1 = "Cost for Actual Wait";
    String series2 = "Cost for Minimum Wait";
    String series3 = "Cost for Acceptable Wait";

    //create group 
    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    map.mapKeyToGroup(series1, "G1");
    map.mapKeyToGroup(series2, "G1");
    map.mapKeyToGroup(series3, "G1");

    renderer.setSeriesToGroupMap(map);/*from w  w  w  .j  a  v  a 2 s . c  o  m*/
    renderer.setItemMargin(0.03);

    Color red = new Color(255, 128, 0);
    Color green = new Color(0, 128, 0);
    Color yellow = new Color(165, 227, 17);

    renderer.setSeriesPaint(2, Color.RED);
    renderer.setSeriesPaint(1, yellow);
    renderer.setSeriesPaint(0, green);

    CategoryPlot plot = (CategoryPlot) stackedChart.getPlot();
    plot.setRenderer(renderer);

    return new ChartPanel(stackedChart);
}

From source file:net.sf.dynamicreports.design.transformation.chartcustomizer.GroupedStackedBarRendererCustomizer.java

@Override
public void customize(JFreeChart chart, ReportParameters reportParameters) {
    this.seriesColors = new LinkedHashMap<String, Paint>();
    this.map = null;
    Set<String> groups = new LinkedHashSet<String>();
    CategoryDataset dataset = chart.getCategoryPlot().getDataset();

    for (int i = 0; i < dataset.getRowCount(); i++) {
        String rowKey = (String) dataset.getRowKey(i);
        String group = StringUtils.substringBefore(rowKey, GROUP_SERIES_KEY);
        String series = StringUtils.substringAfter(rowKey, GROUP_SERIES_KEY);
        if (map == null) {
            map = new KeyToGroupMap(group);
        }//from   ww  w.  ja  v a2s.  c  om
        map.mapKeyToGroup(rowKey, group);
        groups.add(group);
        if (!seriesColors.containsKey(series)) {
            Paint paint = chart.getCategoryPlot().getDrawingSupplier().getNextPaint();
            seriesColors.put(series, paint);
        }
    }

    DefaultCategoryDataset newDataset = new DefaultCategoryDataset();
    for (Object column : dataset.getColumnKeys()) {
        for (String group : groups) {
            for (String series : seriesColors.keySet()) {
                try {
                    Number value = dataset.getValue(group + GROUP_SERIES_KEY + series, (Comparable<?>) column);
                    newDataset.addValue(value, group + GROUP_SERIES_KEY + series, (Comparable<?>) column);
                } catch (UnknownKeyException e) {
                    newDataset.addValue(0, group + GROUP_SERIES_KEY + series, (Comparable<?>) column);
                }
            }

        }
    }
    dataset = newDataset;

    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    renderer.setSeriesToGroupMap(map);

    StackedBarRenderer categoryRenderer = (StackedBarRenderer) chart.getCategoryPlot().getRenderer();
    renderer.setBaseItemLabelsVisible(categoryRenderer.getBaseItemLabelsVisible());
    renderer.setBaseItemLabelFont(categoryRenderer.getBaseItemLabelFont());
    renderer.setBaseItemLabelPaint(categoryRenderer.getBaseItemLabelPaint());
    renderer.setBaseItemLabelGenerator(categoryRenderer.getBaseItemLabelGenerator());
    renderer.setShadowVisible(categoryRenderer.getShadowsVisible());

    renderer.setItemMargin(0.10);
    renderer.setDrawBarOutline(false);
    for (int i = 0; i < dataset.getRowCount(); i++) {
        String rowKey = (String) dataset.getRowKey(i);
        String score = StringUtils.substringAfter(rowKey, GROUP_SERIES_KEY);
        renderer.setSeriesPaint(i, seriesColors.get(score));
    }

    CategoryAxis domainAxis = chart.getCategoryPlot().getDomainAxis();
    SubCategoryAxis newDomainAxis = new SubCategoryAxis(domainAxis.getLabel());
    newDomainAxis.setLabelFont(domainAxis.getLabelFont());
    newDomainAxis.setTickLabelFont(domainAxis.getTickLabelFont());
    newDomainAxis.setLabelPaint(domainAxis.getLabelPaint());
    newDomainAxis.setTickLabelPaint(domainAxis.getTickLabelPaint());
    newDomainAxis.setAxisLinePaint(domainAxis.getAxisLinePaint());
    newDomainAxis.setTickMarkPaint(domainAxis.getTickMarkPaint());
    newDomainAxis.setTickLabelsVisible(domainAxis.isTickLabelsVisible());
    newDomainAxis.setTickMarksVisible(domainAxis.isTickMarksVisible());
    newDomainAxis.setCategoryMargin(0.05);
    for (String group : groups) {
        newDomainAxis.addSubCategory(group);
    }

    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setDomainAxis(newDomainAxis);
    plot.setRenderer(renderer);

    LegendItemCollection legendItems = new LegendItemCollection();
    for (String item : seriesColors.keySet()) {
        legendItems.add(new LegendItem(item, seriesColors.get(item)));
    }
    plot.setFixedLegendItems(legendItems);

    chart.getCategoryPlot().setDataset(dataset);
}

From source file:org.altaprise.vawr.charts.demos.StackedBarChartDemo4.java

/**
 * Creates a sample chart.//from   ww w .  j  av a  2 s . c o  m
 * 
 * @param dataset  the dataset for the chart.
 * 
 * @return A sample chart.
 */
private JFreeChart createChart(final CategoryDataset dataset) {

    final JFreeChart chart = ChartFactory.createStackedBarChart("Stacked Bar Chart Demo 4", // chart title
            "Category", // domain axis label
            "Value", // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // the plot orientation
            true, // legend
            true, // tooltips
            false // urls
    );

    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    map.mapKeyToGroup("Product 1 (US)", "G1");
    map.mapKeyToGroup("Product 1 (Europe)", "G1");
    map.mapKeyToGroup("Product 1 (Asia)", "G1");
    map.mapKeyToGroup("Product 1 (Middle East)", "G1");
    map.mapKeyToGroup("Product 2 (US)", "G2");
    map.mapKeyToGroup("Product 2 (Europe)", "G2");
    map.mapKeyToGroup("Product 2 (Asia)", "G2");
    map.mapKeyToGroup("Product 2 (Middle East)", "G2");
    map.mapKeyToGroup("Product 3 (US)", "G3");
    map.mapKeyToGroup("Product 3 (Europe)", "G3");
    map.mapKeyToGroup("Product 3 (Asia)", "G3");
    map.mapKeyToGroup("Product 3 (Middle East)", "G3");
    renderer.setSeriesToGroupMap(map);

    renderer.setItemMargin(0.0);
    Paint p1 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0x22, 0xFF), 0.0f, 0.0f,
            new Color(0x88, 0x88, 0xFF));
    renderer.setSeriesPaint(0, p1);
    renderer.setSeriesPaint(4, p1);
    renderer.setSeriesPaint(8, p1);

    Paint p2 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0x88, 0xFF, 0x88));
    renderer.setSeriesPaint(1, p2);
    renderer.setSeriesPaint(5, p2);
    renderer.setSeriesPaint(9, p2);

    Paint p3 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0x22, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0x88, 0x88));
    renderer.setSeriesPaint(2, p3);
    renderer.setSeriesPaint(6, p3);
    renderer.setSeriesPaint(10, p3);

    Paint p4 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0xFF, 0x88));
    renderer.setSeriesPaint(3, p4);
    renderer.setSeriesPaint(7, p4);
    renderer.setSeriesPaint(11, p4);
    renderer.setGradientPaintTransformer(
            new StandardGradientPaintTransformer(GradientPaintTransformType.HORIZONTAL));

    SubCategoryAxis domainAxis = new SubCategoryAxis("Product / Month");
    domainAxis.setCategoryMargin(0.05);
    domainAxis.addSubCategory("Product 1");
    domainAxis.addSubCategory("Product 2");
    domainAxis.addSubCategory("Product 3");

    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setDomainAxis(domainAxis);
    //plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
    plot.setRenderer(renderer);
    plot.setFixedLegendItems(createLegendItems());
    return chart;

}

From source file:edu.ucla.stat.SOCR.chart.demo.StackedBarChartDemo4.java

protected JFreeChart createLegend(CategoryDataset dataset) {

    //  JFreeChart chart = ChartFactory.createAreaChart(
    JFreeChart chart = ChartFactory.createStackedBarChart(chartTitle, // chart title
            domainLabel, // domain axis label
            rangeLabel, // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // the plot orientation
            true, // legend
            true, // tooltips
            false // urls
    );/*ww  w .ja v a  2 s .  co m*/

    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    map.mapKeyToGroup("Product 1 (US)", "G1");
    map.mapKeyToGroup("Product 1 (Europe)", "G1");
    map.mapKeyToGroup("Product 1 (Asia)", "G1");
    map.mapKeyToGroup("Product 1 (Middle East)", "G1");
    map.mapKeyToGroup("Product 2 (US)", "G2");
    map.mapKeyToGroup("Product 2 (Europe)", "G2");
    map.mapKeyToGroup("Product 2 (Asia)", "G2");
    map.mapKeyToGroup("Product 2 (Middle East)", "G2");
    map.mapKeyToGroup("Product 3 (US)", "G3");
    map.mapKeyToGroup("Product 3 (Europe)", "G3");
    map.mapKeyToGroup("Product 3 (Asia)", "G3");
    map.mapKeyToGroup("Product 3 (Middle East)", "G3");
    renderer.setSeriesToGroupMap(map);

    renderer.setItemMargin(0.10);
    renderer.setDrawBarOutline(false);
    Paint p1 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0x22, 0xFF), 0.0f, 0.0f,
            new Color(0x88, 0x88, 0xFF));
    renderer.setSeriesPaint(0, p1);
    renderer.setSeriesPaint(4, p1);
    renderer.setSeriesPaint(8, p1);

    Paint p2 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0x88, 0xFF, 0x88));
    renderer.setSeriesPaint(1, p2);
    renderer.setSeriesPaint(5, p2);
    renderer.setSeriesPaint(9, p2);

    Paint p3 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0x22, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0x88, 0x88));
    renderer.setSeriesPaint(2, p3);
    renderer.setSeriesPaint(6, p3);
    renderer.setSeriesPaint(10, p3);

    Paint p4 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0xFF, 0x88));
    renderer.setSeriesPaint(3, p4);
    renderer.setSeriesPaint(7, p4);
    renderer.setSeriesPaint(11, p4);
    renderer.setGradientPaintTransformer(
            new StandardGradientPaintTransformer(GradientPaintTransformType.HORIZONTAL));

    renderer.setLegendItemLabelGenerator(new SOCRCategorySeriesLabelGenerator());

    SubCategoryAxis domainAxis = new SubCategoryAxis("Product / Month");
    domainAxis.setCategoryMargin(0.05);
    domainAxis.addSubCategory("Product 1");
    domainAxis.addSubCategory("Product 2");
    domainAxis.addSubCategory("Product 3");

    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setDomainAxis(domainAxis);
    //plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
    plot.setRenderer(renderer);
    return chart;

}

From source file:edu.ucla.stat.SOCR.chart.demo.StackedBarChartDemo4.java

/**
 * Creates a sample chart.//  ww  w .j  a  v  a 2 s.c om
 * 
 * @param dataset  the dataset for the chart.
 * 
 * @return A sample chart.
 */
protected JFreeChart createChart(CategoryDataset dataset) {

    JFreeChart chart = ChartFactory.createStackedBarChart(chartTitle, // chart title
            domainLabel, // domain axis label
            rangeLabel, // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // the plot orientation
            !legendPanelOn, // legend
            true, // tooltips
            false // urls
    );

    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    map.mapKeyToGroup("Product 1 (US)", "G1");
    map.mapKeyToGroup("Product 1 (Europe)", "G1");
    map.mapKeyToGroup("Product 1 (Asia)", "G1");
    map.mapKeyToGroup("Product 1 (Middle East)", "G1");
    map.mapKeyToGroup("Product 2 (US)", "G2");
    map.mapKeyToGroup("Product 2 (Europe)", "G2");
    map.mapKeyToGroup("Product 2 (Asia)", "G2");
    map.mapKeyToGroup("Product 2 (Middle East)", "G2");
    map.mapKeyToGroup("Product 3 (US)", "G3");
    map.mapKeyToGroup("Product 3 (Europe)", "G3");
    map.mapKeyToGroup("Product 3 (Asia)", "G3");
    map.mapKeyToGroup("Product 3 (Middle East)", "G3");
    renderer.setSeriesToGroupMap(map);

    renderer.setItemMargin(0.10);
    renderer.setDrawBarOutline(false);
    Paint p1 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0x22, 0xFF), 0.0f, 0.0f,
            new Color(0x88, 0x88, 0xFF));
    renderer.setSeriesPaint(0, p1);
    renderer.setSeriesPaint(4, p1);
    renderer.setSeriesPaint(8, p1);

    Paint p2 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0x88, 0xFF, 0x88));
    renderer.setSeriesPaint(1, p2);
    renderer.setSeriesPaint(5, p2);
    renderer.setSeriesPaint(9, p2);

    Paint p3 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0x22, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0x88, 0x88));
    renderer.setSeriesPaint(2, p3);
    renderer.setSeriesPaint(6, p3);
    renderer.setSeriesPaint(10, p3);

    Paint p4 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0xFF, 0x88));
    renderer.setSeriesPaint(3, p4);
    renderer.setSeriesPaint(7, p4);
    renderer.setSeriesPaint(11, p4);
    renderer.setGradientPaintTransformer(
            new StandardGradientPaintTransformer(GradientPaintTransformType.HORIZONTAL));

    renderer.setLegendItemLabelGenerator(new SOCRCategorySeriesLabelGenerator());

    SubCategoryAxis domainAxis = new SubCategoryAxis("Product / Month");
    domainAxis.setCategoryMargin(0.05);
    domainAxis.addSubCategory("Product 1");
    domainAxis.addSubCategory("Product 2");
    domainAxis.addSubCategory("Product 3");

    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setDomainAxis(domainAxis);
    //plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
    plot.setRenderer(renderer);
    //   plot.setFixedLegendItems(createLegendItems());

    setCategorySummary(dataset);
    return chart;

}

From source file:org.oscarehr.web.reports.ocan.NeedRatingOverTimeReportGenerator.java

private JFreeChart generateNeedsOverTimeChart() {

    CategoryDataset dataset = this.createDataset();

    JFreeChart chart = ChartFactory.createStackedBarChart("Needs over Time (Consumer and Staff)", // chart title
            "Assessments", // x axis label
            "# of Domain", // y axis label
            dataset, // data
            PlotOrientation.VERTICAL, true, // include legend
            true, // tooltips
            false // urls
    );/* www  .  j a  v  a2s.  c om*/

    chart.setBackgroundPaint(Color.LIGHT_GRAY);

    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    map.mapKeyToGroup("Consumer (Unknown)", "G1");
    map.mapKeyToGroup("Consumer (No Needs)", "G1");
    map.mapKeyToGroup("Consumer (Met Needs)", "G1");
    map.mapKeyToGroup("Consumer (Unmet Needs)", "G1");

    map.mapKeyToGroup("Staff (Unknown)", "G2");
    map.mapKeyToGroup("Staff (No Needs)", "G2");
    map.mapKeyToGroup("Staff (Met Needs)", "G2");
    map.mapKeyToGroup("Staff (Unmet Needs)", "G2");

    renderer.setSeriesToGroupMap(map);
    renderer.setItemMargin(0.1);
    //renderer.setItemLabelsVisible(true);
    renderer.setMaximumBarWidth(15);

    Paint p1 = Color.GREEN;
    renderer.setSeriesPaint(0, p1);
    renderer.setSeriesPaint(4, p1);
    renderer.setSeriesPaint(7, p1);

    Paint p2 = Color.BLUE;
    renderer.setSeriesPaint(1, p2);
    renderer.setSeriesPaint(5, p2);
    renderer.setSeriesPaint(8, p2);

    Paint p3 = new Color(255, 255, 153);
    renderer.setSeriesPaint(2, p3);
    renderer.setSeriesPaint(6, p3);
    renderer.setSeriesPaint(9, p3);

    Paint p4 = Color.ORANGE;
    renderer.setSeriesPaint(3, p4);
    renderer.setSeriesPaint(7, p4);
    renderer.setSeriesPaint(10, p4);

    SubCategoryAxis domainAxis = new SubCategoryAxis("Assessments");
    domainAxis.setCategoryMargin(0.05);
    domainAxis.addSubCategory("Consumer");
    domainAxis.addSubCategory("Staff");
    domainAxis.setMinorTickMarkInsideLength(10);
    domainAxis.setMinorTickMarkInsideLength(10);
    domainAxis.setMinorTickMarksVisible(true);

    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setDomainAxis(domainAxis);
    plot.setRenderer(renderer);

    LegendItemCollection result = new LegendItemCollection();
    LegendItem item1 = new LegendItem("Unknown", Color.GREEN);
    LegendItem item2 = new LegendItem("No Needs", Color.BLUE);
    LegendItem item3 = new LegendItem("Met Needs", new Color(255, 255, 153));
    LegendItem item4 = new LegendItem("Unmet Needs", Color.ORANGE);

    result.add(item1);
    result.add(item2);
    result.add(item3);
    result.add(item4);

    plot.setFixedLegendItems(result);
    plot.setBackgroundPaint(Color.lightGray);
    plot.setRangeGridlinePaint(Color.black);

    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setRange(new Range(0, 24), true, false);
    rangeAxis.setTickUnit(new NumberTickUnit(4));

    plot.getDomainAxis().setCategoryMargin(0.35);

    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setBaseItemLabelsVisible(true);
    renderer.setBasePositiveItemLabelPosition(
            new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.BASELINE_LEFT));

    return chart;
}

From source file:edu.uara.gui.tableeditor.ChartGenerationFrame.java

public ChartGenerationFrame()//dummy constructor for testing
{

    initComponents();/*w  w  w.  j  av  a  2s .  c o  m*/
    this.addRadioButtonGroup();
    // create a baseDataset...
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    dataset.addValue(20.3, "Product 1 (US)", "Jan 04");
    dataset.addValue(27.2, "Product 1 (US)", "Feb 04");
    dataset.addValue(19.7, "Product 1 (US)", "Mar 04");
    dataset.addValue(19.4, "Product 1 (Europe)", "Jan 04");
    dataset.addValue(10.9, "Product 1 (Europe)", "Feb 04");
    dataset.addValue(18.4, "Product 1 (Europe)", "Mar 04");
    dataset.addValue(16.5, "Product 1 (Asia)", "Jan 04");
    dataset.addValue(15.9, "Product 1 (Asia)", "Feb 04");
    dataset.addValue(16.1, "Product 1 (Asia)", "Mar 04");
    dataset.addValue(13.2, "Product 1 (Middle East)", "Jan 04");
    dataset.addValue(14.4, "Product 1 (Middle East)", "Feb 04");
    dataset.addValue(13.7, "Product 1 (Middle East)", "Mar 04");

    dataset.addValue(23.3, "Product 2 (US)", "Jan 04");
    dataset.addValue(16.2, "Product 2 (US)", "Feb 04");
    dataset.addValue(28.7, "Product 2 (US)", "Mar 04");
    dataset.addValue(12.7, "Product 2 (Europe)", "Jan 04");
    dataset.addValue(17.9, "Product 2 (Europe)", "Feb 04");
    dataset.addValue(12.6, "Product 2 (Europe)", "Mar 04");
    dataset.addValue(15.4, "Product 2 (Asia)", "Jan 04");
    dataset.addValue(21.0, "Product 2 (Asia)", "Feb 04");
    dataset.addValue(11.1, "Product 2 (Asia)", "Mar 04");
    dataset.addValue(23.8, "Product 2 (Middle East)", "Jan 04");
    dataset.addValue(23.4, "Product 2 (Middle East)", "Feb 04");
    dataset.addValue(19.3, "Product 2 (Middle East)", "Mar 04");

    dataset.addValue(11.9, "Product 3 (US)", "Jan 04");
    dataset.addValue(31.0, "Product 3 (US)", "Feb 04");
    dataset.addValue(22.7, "Product 3 (US)", "Mar 04");
    dataset.addValue(15.3, "Product 3 (Europe)", "Jan 04");
    dataset.addValue(14.4, "Product 3 (Europe)", "Feb 04");
    dataset.addValue(25.3, "Product 3 (Europe)", "Mar 04");
    dataset.addValue(23.9, "Product 3 (Asia)", "Jan 04");
    dataset.addValue(19.0, "Product 3 (Asia)", "Feb 04");
    dataset.addValue(10.1, "Product 3 (Asia)", "Mar 04");
    dataset.addValue(13.2, "Product 3 (Middle East)", "Jan 04");
    dataset.addValue(15.5, "Product 3 (Middle East)", "Feb 04");
    dataset.addValue(10.1, "Product 3 (Middle East)", "Mar 04");
    // create a chart...
    IBarChart c = new CustomBarChart("Test barchart", "Domain", "Range", PlotOrientation.VERTICAL, true);
    c.generate3DStackedBarChart(dataset);
    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    map.mapKeyToGroup("Product 1 (US)", "G1");
    map.mapKeyToGroup("Product 1 (Europe)", "G1");
    map.mapKeyToGroup("Product 1 (Asia)", "G1");
    map.mapKeyToGroup("Product 1 (Middle East)", "G1");
    map.mapKeyToGroup("Product 2 (US)", "G2");
    map.mapKeyToGroup("Product 2 (Europe)", "G2");
    map.mapKeyToGroup("Product 2 (Asia)", "G2");
    map.mapKeyToGroup("Product 2 (Middle East)", "G2");
    map.mapKeyToGroup("Product 3 (US)", "G3");
    map.mapKeyToGroup("Product 3 (Europe)", "G3");
    map.mapKeyToGroup("Product 3 (Asia)", "G3");
    map.mapKeyToGroup("Product 3 (Middle East)", "G3");
    renderer.setSeriesToGroupMap(map);

    renderer.setItemMargin(0.0);
    Paint p1 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0x22, 0xFF), 0.0f, 0.0f,
            new Color(0x88, 0x88, 0xFF));
    renderer.setSeriesPaint(0, p1);
    renderer.setSeriesPaint(4, p1);
    renderer.setSeriesPaint(8, p1);

    Paint p2 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0x88, 0xFF, 0x88));
    renderer.setSeriesPaint(1, p2);
    renderer.setSeriesPaint(5, p2);
    renderer.setSeriesPaint(9, p2);

    Paint p3 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0x22, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0x88, 0x88));
    renderer.setSeriesPaint(2, p3);
    renderer.setSeriesPaint(6, p3);
    renderer.setSeriesPaint(10, p3);

    Paint p4 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0xFF, 0x88));
    renderer.setSeriesPaint(3, p4);
    renderer.setSeriesPaint(7, p4);
    renderer.setSeriesPaint(11, p4);
    renderer.setGradientPaintTransformer(
            new StandardGradientPaintTransformer(GradientPaintTransformType.HORIZONTAL));

    SubCategoryAxis domainAxis = new SubCategoryAxis("Product / Month");
    domainAxis.setCategoryMargin(0.05);
    domainAxis.addSubCategory("Product 1");
    domainAxis.addSubCategory("Product 2");
    domainAxis.addSubCategory("Product 3");

    CategoryPlot plot = (CategoryPlot) ((CustomJFreeChart) c).getPlot();
    plot.setDomainAxis(domainAxis);
    //plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
    plot.setRenderer(renderer);
    //plot.setFixedLegendItems(createLegendItems());

    ChartPanel panel = c.drawChart("Chart Editor").getChartPanel();

    ChartPanel.add(panel);
    //ChartPanel.setSize(panel.getWidth(), panel.getHeight());
    splitPane.setDividerLocation(panel.getHeight());
    //test table
    //H4_2 t = new H4_2();
    //CustomJTable temp = (CustomJTable) t.generateTable();
    //temp.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    //JScrollPane tableScrollPane = new JScrollPane(temp);
    //tableScrollPane.add(temp);
    //splitPane.setBottomComponent(tableScrollPane);
    //temp.setCellSelectionEnabled(true);
    //this.getContentPane().add(TablePanel)
}