Example usage for org.jfree.chart JFreeChart setBackgroundPaint

List of usage examples for org.jfree.chart JFreeChart setBackgroundPaint

Introduction

In this page you can find the example usage for org.jfree.chart JFreeChart setBackgroundPaint.

Prototype

public void setBackgroundPaint(Paint paint) 

Source Link

Document

Sets the paint used to fill the chart background and sends a ChartChangeEvent to all registered listeners.

Usage

From source file:com.voterData.graph.Graph.java

public static JFreeChart getAgeDistChart2012(Map<String, Double> dataMap) {
    DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
    for (String key : dataMap.keySet()) {
        if (key.equals("Age17_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "DEM", "17-25 Yrs");
        } else if (key.equals("Age17_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "REP", "17-25 Yrs");
        } else if (key.equals("Age17_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "UNA", "17-25 Yrs");
        } else if (key.equals("Age26_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "DEM", "26-35 Yrs");
        } else if (key.equals("Age26_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "REP", "26-35 Yrs");
        } else if (key.equals("Age26_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "UNA", "26-35 Yrs");
        } else if (key.equals("Age36_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "DEM", "36-50 Yrs");
        } else if (key.equals("Age36_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "REP", "36-50 Yrs");
        } else if (key.equals("Age36_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "UNA", "36-50 Yrs");
        } else if (key.equals("Age51_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "DEM", "51-65 Yrs");
        } else if (key.equals("Age51_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "REP", "51-65 Yrs");
        } else if (key.equals("Age51_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "UNA", "51-65 Yrs");
        } else if (key.equals("Age65_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "DEM", ">65 Yrs");
        } else if (key.equals("Age65_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "REP", ">65 Yrs");
        } else if (key.equals("Age65_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "UNA", ">65 Yrs");
        }/*from w w  w .  j a v a  2 s .c  o m*/
    }
    JFreeChart jfreechart = ChartFactory.createBarChart("Age based Distribution - Year 2012", "Age in Years",
            " Votes in %", defaultcategorydataset, PlotOrientation.VERTICAL, true, true, false);
    jfreechart.setBackgroundPaint(Color.white);
    CategoryPlot cplot = (CategoryPlot) jfreechart.getPlot();
    cplot.setBackgroundPaint(Color.lightGray);//change background color
    //set  bar chart color
    // ((BarRenderer) cplot.getRenderer()).setBarPainter(new StandardBarPainter());
    BarRenderer r = (BarRenderer) jfreechart.getCategoryPlot().getRenderer();
    r.setSeriesPaint(0, Color.blue);
    r.setSeriesPaint(1, Color.green);
    r.setSeriesPaint(2, Color.red);
    return jfreechart;

}

From source file:org.sipfoundry.sipxconfig.site.cdr.CdrReports.java

private static Image createExtensionsChartImage(List<CdrGraphBean> extensions, String xAxisLabel,
        String yAxisLabel) {// w ww  . jav  a2s. c om
    // Create a dataset...
    DefaultCategoryDataset data = new DefaultCategoryDataset();

    // Fill dataset with beans data
    for (CdrGraphBean extension : extensions) {
        data.setValue(extension.getCount(), extension.getKey(), extension.getKey());
    }

    // Create a chart with the dataset
    JFreeChart barChart = ChartFactory.createBarChart3D(EMPTY_TITLE, xAxisLabel, yAxisLabel, data,
            PlotOrientation.VERTICAL, true, true, true);
    barChart.setBackgroundPaint(Color.lightGray);
    barChart.getTitle().setPaint(Color.BLACK);
    CategoryPlot p = barChart.getCategoryPlot();
    p.setRangeGridlinePaint(Color.red);

    // Create and return the image with the size specified in the XML design
    return barChart.createBufferedImage(500, 220, BufferedImage.TYPE_INT_RGB, null);
}

From source file:org.dkpro.lab.reporting.ChartUtil.java

/**
 * Exports a JFreeChart to a scalable PDF file.
 *
 * @param chart JFreeChart to export//  w  w w .  j a  v a  2  s . c om
 * @param aOS stream to write to.
 * @param aWidth width of the chart in pixels
 * @param aHeight height of the chart in pixels
 * @throws IOException if writing the svgFile fails.
 */
public static void writeChartAsPDF(OutputStream aOS, JFreeChart chart, int aWidth, int aHeight)
        throws IOException {
    // Create an instance of the SVG Generator
    PDFDocumentGraphics2D pdfGenerator = new PDFDocumentGraphics2D(true, aOS, aWidth, aHeight);
    pdfGenerator.setDeviceDPI(PDFDocumentGraphics2D.NORMAL_PDF_RESOLUTION);
    pdfGenerator.setGraphicContext(new GraphicContext());
    pdfGenerator.setSVGDimension(aWidth, aHeight);
    pdfGenerator.setClip(0, 0, aWidth, aHeight);
    pdfGenerator.setRenderingHint(KEY_ANTIALIASING, VALUE_ANTIALIAS_ON);
    pdfGenerator.setRenderingHint(KEY_INTERPOLATION, VALUE_INTERPOLATION_BILINEAR);
    chart.setBackgroundPaint(Color.white);
    chart.getPlot().setBackgroundPaint(Color.white);
    // draw the chart in the SVG generator
    chart.draw(pdfGenerator, new Rectangle(aWidth, aHeight));
    pdfGenerator.finish();
}

From source file:org.sipfoundry.sipxconfig.site.cdr.CdrReports.java

private static Image createMinutesOutgoingCallsChartImage(List<CdrMinutesGraphBean> minutesOutgoingCalls,
        String xAxisLabel, String yAxisLabel) {
    // Create a dataset...
    DefaultCategoryDataset data = new DefaultCategoryDataset();

    // Fill dataset with beans data
    for (CdrMinutesGraphBean minutesOutgoingCall : minutesOutgoingCalls) {
        data.setValue(minutesOutgoingCall.getMinutes() / 60000, minutesOutgoingCall.getExtension(),
                minutesOutgoingCall.getExtension());
    }// www . j  av a2s.  com

    // Create a chart with the dataset
    JFreeChart barChart = ChartFactory.createBarChart3D(EMPTY_TITLE, xAxisLabel, yAxisLabel, data,
            PlotOrientation.VERTICAL, true, true, true);
    barChart.setBackgroundPaint(Color.lightGray);
    barChart.getTitle().setPaint(Color.BLACK);
    CategoryPlot p = barChart.getCategoryPlot();
    p.setRangeGridlinePaint(Color.red);

    // Create and return the image with the size specified in the XML design
    return barChart.createBufferedImage(500, 220, BufferedImage.TYPE_INT_RGB, null);
}

From source file:com.voterData.graph.Graph.java

public static JFreeChart getRaceDistbn2008(Map<String, Double> dataMap) {
    DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
    for (String key : dataMap.keySet()) {
        if (key.equals("A_Rep_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Asian", "REP");
        } else if (key.equals("B_Rep_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "African American/Black", "REP");
        } else if (key.equals("I_Rep_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "American Indian/Alaska Native", "REP");
        } else if (key.equals("O_Rep_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Other", "REP");
        } else if (key.equals("M_Rep_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Multiracial", "REP");
        } else if (key.equals("U_Rep_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Undefined", "REP");
        } else if (key.equals("W_Rep_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "White", "REP");
        } else if (key.equals("A_Dem_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Asian", "DEM");
        } else if (key.equals("B_Dem_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "African American/Black", "DEM");
        } else if (key.equals("I_Dem_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "American Indian/Alaska Native", "DEM");
        } else if (key.equals("O_Dem_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Other", "DEM");
        } else if (key.equals("M_Dem_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Multiracial", "DEM");
        } else if (key.equals("U_Dem_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Undefined", "DEM");
        } else if (key.equals("W_Dem_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "White", "DEM");
        } else if (key.equals("A_Una_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Asian", "UNA");
        } else if (key.equals("B_Una_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "African American/Black", "UNA");
        } else if (key.equals("I_Una_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "American Indian/Alaska Native", "UNA");
        } else if (key.equals("O_Una_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Other", "UNA");
        } else if (key.equals("M_Una_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Multiracial", "UNA");
        } else if (key.equals("U_Una_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Undefined", "UNA");
        } else if (key.equals("W_Una_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "White", "UNA");
        }//  w w  w . j  a v a2s . c om
    }

    JFreeChart jfreechart = ChartFactory.createBarChart("Race Distribution - 2008", "Party", "% of votes",
            defaultcategorydataset, PlotOrientation.VERTICAL, true, true, false);
    jfreechart.setBackgroundPaint(Color.white);
    CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
    categoryplot.setBackgroundPaint(Color.lightGray);
    categoryplot.setRangeGridlinePaint(Color.white);
    BarRenderer renderer = (BarRenderer) categoryplot.getRenderer();

    renderer.setDrawBarOutline(false);
    renderer.setSeriesPaint(0, Color.ORANGE);
    renderer.setSeriesPaint(1, Color.MAGENTA);
    renderer.setSeriesPaint(2, Color.PINK);
    renderer.setSeriesPaint(3, Color.YELLOW);
    renderer.setSeriesPaint(4, Color.cyan);
    renderer.setSeriesPaint(5, Color.RED);
    renderer.setSeriesPaint(6, Color.green);
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setSeriesItemLabelGenerator(0, new StandardCategoryItemLabelGenerator());
    renderer.setItemLabelsVisible(true);
    categoryplot.setRenderer(renderer);

    return jfreechart;

}

From source file:com.voterData.graph.Graph.java

public static JFreeChart getRaceDistbn2012(Map<String, Double> dataMap) {
    DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
    for (String key : dataMap.keySet()) {
        if (key.equals("A_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Asian", "REP");
        } else if (key.equals("B_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "African American/Black", "REP");
        } else if (key.equals("I_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "American Indian/Alaska Native", "REP");
        } else if (key.equals("O_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Other", "REP");
        } else if (key.equals("M_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Multiracial", "REP");
        } else if (key.equals("U_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Undefined", "REP");
        } else if (key.equals("W_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "White", "REP");
        } else if (key.equals("A_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Asian", "DEM");
        } else if (key.equals("B_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "African American/Black", "DEM");
        } else if (key.equals("I_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "American Indian/Alaska Native", "DEM");
        } else if (key.equals("O_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Other", "DEM");
        } else if (key.equals("M_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Multiracial", "DEM");
        } else if (key.equals("U_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Undefined", "DEM");
        } else if (key.equals("W_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "White", "DEM");
        } else if (key.equals("A_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Asian", "UNA");
        } else if (key.equals("B_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "African American/Black", "UNA");
        } else if (key.equals("I_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "American Indian/Alaska Native", "UNA");
        } else if (key.equals("O_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Other", "UNA");
        } else if (key.equals("M_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Multiracial", "UNA");
        } else if (key.equals("U_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "Undefined", "UNA");
        } else if (key.equals("W_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "White", "UNA");
        }//from   ww  w  .j a  v  a 2  s  . c  om
    }

    JFreeChart jfreechart = ChartFactory.createBarChart("Race Distribution - 2012", "Party", "% of votes",
            defaultcategorydataset, PlotOrientation.VERTICAL, true, true, false);
    jfreechart.setBackgroundPaint(Color.white);
    CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
    categoryplot.setBackgroundPaint(Color.lightGray);
    categoryplot.setRangeGridlinePaint(Color.white);
    BarRenderer renderer = (BarRenderer) categoryplot.getRenderer();

    renderer.setDrawBarOutline(false);
    renderer.setSeriesPaint(0, Color.cyan);
    renderer.setSeriesPaint(1, Color.pink);
    renderer.setSeriesPaint(2, Color.red);
    renderer.setSeriesPaint(3, Color.orange);
    renderer.setSeriesPaint(4, Color.green);
    renderer.setSeriesPaint(5, Color.yellow);
    renderer.setSeriesPaint(6, Color.magenta);
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setSeriesItemLabelGenerator(0, new StandardCategoryItemLabelGenerator());
    renderer.setItemLabelsVisible(true);
    categoryplot.setRenderer(renderer);

    return jfreechart;

}

From source file:plugins.tutorial.chart.ChartTutorial1.java

/**
 * Creates a sample chart./*from w  w w .  j a  v a  2 s  .c o m*/
 * 
 * @param dataset
 *        the dataset.
 * @return The chart.
 */
private static JFreeChart createChart(CategoryDataset dataset) {
    // create the chart...
    JFreeChart chart = ChartFactory.createBarChart("Bar Chart Demo 1", // chart title
            "Category", // domain axis label
            "Value", // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // orientation
            true, // include legend
            true, // tooltips?
            false // URLs?
    );

    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...

    // set the background color for the chart...
    chart.setBackgroundPaint(Color.white);

    // get a reference to the plot for further customisation...
    CategoryPlot plot = (CategoryPlot) chart.getPlot();

    // ******************************************************************
    // More than 150 demo applications are included with the JFreeChart
    // Developer Guide...for more information, see:
    //
    // > http://www.object-refinery.com/jfreechart/guide.html
    //
    // ******************************************************************

    // set the range axis to display integers only...
    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    // disable bar outlines...
    BarRenderer renderer = (BarRenderer) plot.getRenderer();
    renderer.setDrawBarOutline(false);

    // set up gradient paints for series...
    GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, Color.blue, 0.0f, 0.0f, new Color(0, 0, 64));
    GradientPaint gp1 = new GradientPaint(0.0f, 0.0f, Color.green, 0.0f, 0.0f, new Color(0, 64, 0));
    GradientPaint gp2 = new GradientPaint(0.0f, 0.0f, Color.red, 0.0f, 0.0f, new Color(64, 0, 0));
    renderer.setSeriesPaint(0, gp0);
    renderer.setSeriesPaint(1, gp1);
    renderer.setSeriesPaint(2, gp2);

    CategoryAxis domainAxis = plot.getDomainAxis();
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0));
    // OPTIONAL CUSTOMISATION COMPLETED.

    return chart;

}

From source file:org.jfree.chart.demo.XYBoxAnnotationDemo1.java

private static JFreeChart createChart(XYDataset xydataset) {
    JFreeChart jfreechart = ChartFactory.createTimeSeriesChart("Breakdowns", "Production Date",
            "Hours of Operation", xydataset, true, true, false);
    jfreechart.setBackgroundPaint(Color.white);
    XYPlot xyplot = (XYPlot) jfreechart.getPlot();
    XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer) xyplot.getRenderer();
    xylineandshaperenderer.setSeriesShape(0, new Rectangle(2, 2));
    xylineandshaperenderer.setSeriesShape(1, new Rectangle(2, 2));
    xylineandshaperenderer.setBaseLinesVisible(false);
    xylineandshaperenderer.setBaseShapesFilled(true);
    xylineandshaperenderer.setBaseShapesVisible(true);
    xylineandshaperenderer.setBaseToolTipGenerator(null);
    xylineandshaperenderer.setSeriesPaint(0, Color.blue);
    xylineandshaperenderer.setSeriesPaint(1, Color.red);
    xyplot.setDomainGridlineStroke(new BasicStroke(1.0F));
    xyplot.setRangeGridlineStroke(new BasicStroke(1.0F));
    NumberAxis numberaxis = (NumberAxis) xyplot.getRangeAxis();
    numberaxis.setTickUnit(new NumberTickUnit(50000D));
    DateAxis dateaxis = (DateAxis) xyplot.getDomainAxis();
    dateaxis.setTickUnit(new DateTickUnit(DateTickUnitType.MONTH, 1));
    dateaxis.setDateFormatOverride(new SimpleDateFormat("MMM.yy"));
    dateaxis.setVerticalTickLabels(true);
    Color color = new Color(255, 0, 0, 60);
    Color color1 = new Color(0, 255, 0, 60);
    XYBoxAnnotation xyboxannotation = new XYBoxAnnotation((new Day(1, 1, 2004)).getMiddleMillisecond(), 0.0D,
            (new Day(31, 1, 2004)).getMiddleMillisecond(), 50000D, new BasicStroke(0.0F), color, color);
    xyboxannotation.setToolTipText("Value: 2.9");
    xylineandshaperenderer.addAnnotation(xyboxannotation);
    xyboxannotation = new XYBoxAnnotation((new Day(1, 2, 2004)).getMiddleMillisecond(), 0.0D,
            (new Day(29, 2, 2004)).getMiddleMillisecond(), 50000D, new BasicStroke(0.0F), color, color);
    xyboxannotation.setToolTipText("Value: 2.5");
    xylineandshaperenderer.addAnnotation(xyboxannotation);
    xyboxannotation = new XYBoxAnnotation((new Day(1, 5, 2004)).getMiddleMillisecond(), 50000D,
            (new Day(31, 5, 2004)).getMiddleMillisecond(), 100000D, new BasicStroke(0.0F), color, color);
    xyboxannotation.setToolTipText("Value: 1.8");
    xylineandshaperenderer.addAnnotation(xyboxannotation);
    xyboxannotation = new XYBoxAnnotation((new Day(1, 6, 2005)).getMiddleMillisecond(), 0.0D,
            (new Day(30, 6, 2005)).getMiddleMillisecond(), 50000D, new BasicStroke(0.0F), color1, color1);
    xyboxannotation.setToolTipText("Value: 3.7");
    xylineandshaperenderer.addAnnotation(xyboxannotation);
    return jfreechart;
}

From source file:com.voterData.graph.Graph.java

public static JFreeChart getEthnicityDistbn(Map<String, Double> dataMap) {
    DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
    for (String key : dataMap.keySet()) {
        if (key.equals("HL_Dem_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "DEM", "HL_2008");
        } else if (key.equals("HL_Rep_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "REP", "HL_2008");
        } else if (key.equals("HL_Una_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "UNA", "HL_2008");
        } else if (key.equals("NL_Dem_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "DEM", "NL_2008");
        } else if (key.equals("NL_Rep_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "REP", "NL_2008");
        } else if (key.equals("NL_Una_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "UNA", "NL_2008");
        } else if (key.equals("UN_Dem_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "DEM", "UN_2008");
        } else if (key.equals("UN_Rep_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "REP", "UN_2008");
        } else if (key.equals("UN_Una_2008")) {
            defaultcategorydataset.addValue(dataMap.get(key), "UNA", "UN_2008");
        } else if (key.equals("HL_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "DEM", "HL_2012");
        } else if (key.equals("HL_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "REP", "HL_2012");
        } else if (key.equals("HL_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "UNA", "HL_2012");
        } else if (key.equals("NL_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "DEM", "NL_2012");
        } else if (key.equals("NL_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "REP", "NL_2012");
        } else if (key.equals("NL_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "UNA", "NL_2012");
        } else if (key.equals("UN_Dem_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "DEM", "UN_2012");
        } else if (key.equals("UN_Rep_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "REP", "UN_2012");
        } else if (key.equals("UN_Una_2012")) {
            defaultcategorydataset.addValue(dataMap.get(key), "UNA", "UN_2012");
        }//from w  ww . j  a v  a  2 s .  c om

    }

    JFreeChart jfreechart = ChartFactory.createStackedBarChart("Ethnicity based Distribution", "Ethnicity_Year",
            "Total Count", defaultcategorydataset, PlotOrientation.HORIZONTAL, true, true, false);
    jfreechart.setBackgroundPaint(Color.white);
    CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
    categoryplot.setBackgroundPaint(Color.lightGray);
    categoryplot.setRangeGridlinePaint(Color.white);
    StackedBarRenderer renderer = (StackedBarRenderer) categoryplot.getRenderer();

    renderer.setDrawBarOutline(false);
    renderer.setSeriesPaint(0, Color.green);
    renderer.setSeriesPaint(1, Color.blue);
    renderer.setSeriesPaint(2, Color.red);
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setSeriesItemLabelGenerator(0, new StandardCategoryItemLabelGenerator());
    renderer.setItemLabelsVisible(true);
    categoryplot.setRenderer(renderer);

    return jfreechart;

}

From source file:com.opensourcestrategies.crmsfa.reports.JFreeCrmsfaCharts.java

/**
 * Open Cases snapshot.  Description at http://www.opentaps.org/docs/index.php/CRMSFA_Dashboard
 * Note that this counts all the cases in the system for now.
 *///from w  ww.  java  2s .c  om
public static String createOpenCasesChart(Delegator delegator, Locale locale)
        throws GenericEntityException, IOException {
    Map uiLabelMap = UtilMessage.getUiLabels(locale);

    // create the dataset
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    // get all case statuses that are not "closed" (this is dynamic because statuses may be added at run time)
    List<GenericValue> statuses = ReportHelper.findCasesStagesForDashboardReporting(delegator);

    // Report number of cases for each status
    for (GenericValue status : statuses) {
        String statusId = status.getString("statusId");
        long count = delegator.findCountByCondition("CustRequest",
                EntityCondition.makeCondition("statusId", EntityOperator.EQUALS, statusId), null);
        dataset.addValue(count, "", (String) status.get("description", locale));
    }

    // set up the chart
    JFreeChart chart = ChartFactory.createBarChart((String) uiLabelMap.get("CrmOpenCases"), // chart title
            null, // domain axis label
            null, // range axis label
            dataset, // data
            PlotOrientation.HORIZONTAL, // orientation
            false, // include legend
            true, // tooltips
            false // urls
    );
    chart.setBackgroundPaint(Color.white);
    chart.setBorderVisible(true);
    chart.setPadding(new RectangleInsets(5.0, 5.0, 5.0, 5.0));

    // get a reference to the plot for further customisation...
    final CategoryPlot plot = chart.getCategoryPlot();
    plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);

    // get the bar renderer to put effects on the bars
    final BarRenderer renderer = (BarRenderer) plot.getRenderer();
    renderer.setDrawBarOutline(false); // disable bar outlines

    // set up gradient paint on bar
    final GradientPaint gp = new GradientPaint(0.0f, 0.0f, new Color(246, 227, 206), 0.0f, 0.0f,
            new Color(204, 153, 102));
    renderer.setSeriesPaint(0, gp);

    // change the auto tick unit selection to integer units only...
    final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    // tilt the category labels so they fit
    CategoryAxis domainAxis = plot.getDomainAxis();
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0));

    // save as a png and return the file name
    return ServletUtilities.saveChartAsPNG(chart, 360, 300, null);
}