Guest User

Untitled

a guest
Sep 6th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. Jfreechart: Is it possible to change the bar color?
  2. <%@page contentType="text/html"%>
  3. <%@page import="java.io.*" %>
  4. <%@page import="java.sql.*" %>
  5. <%@page import="org.jfree.data.category.*" %>
  6. <%@page import="org.jfree.chart.*" %>
  7. <%@page import="org.jfree.chart.plot.*" %>
  8.  
  9. <html>
  10. <body>
  11.  
  12. <%
  13. DefaultCategoryDataset dataset = new DefaultCategoryDataset();
  14. try
  15. {
  16.  
  17. Class.forName("com.mysql.jdbc.Driver");
  18. java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/delivery","root","root");
  19. Statement sta = con.createStatement();
  20. ResultSet res = sta.executeQuery("SELECT inventory, subject from statistics");
  21. int count;
  22. String subject;
  23.  
  24. while (res.next())
  25. {
  26. count = res.getInt("inventory");
  27. subject = res.getString("subject");
  28. dataset.addValue(count,"enrollment count statistics", subject);
  29. }
  30. }
  31. catch (Exception e) {
  32. System.err.println(e.getMessage());
  33. }
  34.  
  35. JFreeChart bar = ChartFactory.createBarChart("Enrollment Chart", "subject","Count",dataset, PlotOrientation.HORIZONTAL,true, false, false);
  36. //BarRenderer renderer = (BarRenderer) bar.getCategoryPlot().getRenderer();
  37.  
  38. String fileName = "/bar.png";
  39. String file = application.getRealPath("/") + fileName;
  40.  
  41. try
  42. {
  43. FileOutputStream fileOut = new FileOutputStream(file);
  44. ChartUtilities.writeChartAsPNG(fileOut, bar, 300, 300);
  45. }
  46. catch (IOException e)
  47. {
  48. out.print(e);
  49. }
  50.  
  51.  
  52. %>
  53. <img src="/delivery/bar.png" alt="subject Bar Chart" />
  54. </body>
  55. </html>
  56.  
  57. Plot plot = bar.getPlot();
  58. BarRenderer barRenderer = (BarRenderer)plot.getRenderer();
  59. barRenderer.setSeriesPaint(0, Color.gray);
  60.  
  61. class CustomRenderer extends BarRenderer
  62. {
  63.  
  64. public CustomRenderer()
  65. {
  66. }
  67.  
  68. public Paint getItemPaint(final int row, final int column)
  69. {
  70. // returns color depending on y coordinate.
  71. return (row > 200) ? Color.blue : Color.yellow ;
  72. }
  73. }
  74.  
  75. final CategoryPlot plot = chart.getCategoryPlot();
  76. CategoryItemRenderer renderer = new CustomRenderer();
  77. plot.setRenderer(renderer);
Add Comment
Please, Sign In to add comment