Jfreechart: Is it possible to change the bar color? <%@page contentType="text/html"%> <%@page import="java.io.*" %> <%@page import="java.sql.*" %> <%@page import="org.jfree.data.category.*" %> <%@page import="org.jfree.chart.*" %> <%@page import="org.jfree.chart.plot.*" %> <% DefaultCategoryDataset dataset = new DefaultCategoryDataset(); try { Class.forName("com.mysql.jdbc.Driver"); java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/delivery","root","root"); Statement sta = con.createStatement(); ResultSet res = sta.executeQuery("SELECT inventory, subject from statistics"); int count; String subject; while (res.next()) { count = res.getInt("inventory"); subject = res.getString("subject"); dataset.addValue(count,"enrollment count statistics", subject); } } catch (Exception e) { System.err.println(e.getMessage()); } JFreeChart bar = ChartFactory.createBarChart("Enrollment Chart", "subject","Count",dataset, PlotOrientation.HORIZONTAL,true, false, false); //BarRenderer renderer = (BarRenderer) bar.getCategoryPlot().getRenderer(); String fileName = "/bar.png"; String file = application.getRealPath("/") + fileName; try { FileOutputStream fileOut = new FileOutputStream(file); ChartUtilities.writeChartAsPNG(fileOut, bar, 300, 300); } catch (IOException e) { out.print(e); } %> subject Bar Chart Plot plot = bar.getPlot(); BarRenderer barRenderer = (BarRenderer)plot.getRenderer(); barRenderer.setSeriesPaint(0, Color.gray); class CustomRenderer extends BarRenderer { public CustomRenderer() { } public Paint getItemPaint(final int row, final int column) { // returns color depending on y coordinate. return (row > 200) ? Color.blue : Color.yellow ; } } final CategoryPlot plot = chart.getCategoryPlot(); CategoryItemRenderer renderer = new CustomRenderer(); plot.setRenderer(renderer);