Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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.*" %>
- <html>
- <body>
- <%
- 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);
- }
- %>
- <img src="/delivery/bar.png" alt="subject Bar Chart" />
- </body>
- </html>
- 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);
Add Comment
Please, Sign In to add comment