引入的jar包有:jfreechart-1.0.9.jar,jfreechart-1.0.9-experimental.jar
//柱状图
public void drawBarChart(String imageName,ResultSet rs) throws SQLException, IOException, ParseException {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
int n = 0;
while(rs.next()) {
if((n % 6) == 0) {
String rectimeStr = rs.getString(1);
Date rectime = this.getSdf().parse(rectimeStr);
String timePoint = rectime.getHours() + ":" + rectime.getMinutes() + ":" + rectime.getSeconds();
dataset.addValue(Integer.parseInt(rs.getString(2)), "", timePoint);
}
n++;
}
JFreeChart chart = ChartFactory.createBarChart3D("时间点用户在线图","时间点", "数量", dataset,PlotOrientation.VERTICAL, false, false, false);
//设置整个图表的背景色
chart.setBackgroundPaint(Color.WHITE);
//得到一个图表绘制之类的东西
CategoryPlot plot = chart.getCategoryPlot();
//设置图表正文的背景色
plot.setBackgroundPaint(new Color(200, 255, 204));
//构造一个3D渲染器
BarRenderer3D renderer = new BarRenderer3D();
//设置每个柱子的颜色
renderer.setSeriesPaint(0,new Color(0,37,137));
//显示每个柱的数值,并修改该数值的字体属性
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setItemLabelsVisible(true);
plot.setRenderer(renderer);
//设置柱的透明度
plot.setForegroundAlpha(0.8f);
//保存图片
File file = new File(this.getRealPath() + "/" + imageName);
ChartUtilities.saveChartAsPNG(file, chart, 518, 254);
}