1、什么是JFreeChart
JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。
2、Jar包的引入
3、配置web.xml
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/DisplayChart</url-pattern>
</servlet-mapping>
4、后台代码
package com.chart.bar;
import javax.servlet.Servlet;
import javax.servlet.http.HttpSession;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.category.DefaultCategoryDataset;
public class BarChart1 {
public static String getBarChart(HttpSession session)throws Exception{
DefaultCategoryDataset dataSet = new DefaultCategoryDataset();//数据集
dataSet.addValue(510, "深圳", "苹果");
dataSet.addValue(320, "深圳", "香蕉");
dataSet.addValue(410, "深圳", "橘子");
dataSet.addValue(390, "深圳", "梨子");
//生成图标
JFreeChart jfChart = ChartFactory.createBarChart3D("水果销售统计图", "水果", "销量", dataSet,
PlotOrientation.VERTICAL, true, true, true);
//生成图片
String fileName = ServletUtilities.saveChartAsJPEG(jfChart, 700, 500, null, session);
return fileName;
}
}
5、前台代码
1)页面头引入生成图片类的对应位置
<%@page import="com.chart.bar.BarChart1"%>
2)图片显示代码:
<body>
<%
String fileName = BarChart1.getBarChart(session);
System.out.println(fileName);
%>
<img alt="" src="DisplayChart?filename=<%=fileName%>" width="700" height="500" border="0">
</body>