Có thể thay đổi màu của thanh không?Jfreechart: Có thể thay đổi màu của thanh không?
Tôi đã mã hóa một chương trình đơn giản để đếm.
Tôi muốn thực hiện thêm một điều nữa: nếu số đếm lớn hơn 200, hãy sử dụng màu xanh lam để vẽ thanh. Nếu không, sử dụng màu vàng để làm như vậy.
Hiện tại, tất cả màu thanh đều có màu đỏ.
Vì vậy, tôi muốn hỏi, có thể thay đổi màu của thanh không?
Nếu có, ai đó có thể cho tôi một số hướng dẫn để nhận ra không?
Cảm ơn trước!
kèm theo là mã của tôi:
<%@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>
Phương pháp này không thể được sử dụng để thiết lập màu sắc của thanh trong một loạt, đó là những gì OP muốn đạt được. Sử dụng [Câu trả lời của Stobor] (http://stackoverflow.com/a/4953004/720425) thay vì –