(注:以jfreechar-1.0.12爲例)
1.解壓jfreechar-1.0.12.zip安裝包,將目錄中"lib/jfrechar-1.0.12.jar;lib/jcommon-1.0.12.jar;lib/gnujaxp.jar"拷貝到jdk安裝目錄下的lib文件夾下
2.將目錄中"lib/jfrechar-1.0.12.jar;lib/jcommon-1.0.12.jar;lib/gnujaxp.jar"拷貝到tomcat安裝目錄中的web-apps/root/web-inf/lib中
3.在tomcat目錄中web-apps/root/web-inf/web.xml添加以下內容:
在</web-app>前添加:
<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>/servlet/DisplayChart</url-pattern>
</servlet-mapping>
4.測試代碼:
index.jsp
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="org.jfree.data.general.DefaultPieDataset"%>
<%@ page import="org.jfree.chart.*"%>
<%@ page import="org.jfree.chart.plot.*"%>
<%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
<%@ page import="org.jfree.chart.labels.StandardPieToolTipGenerator"%>
<%@ page import="org.jfree.chart.urls.StandardPieURLGenerator"%>
<%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
<%@ page import="java.io.*"%>
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=GBK">
<META NAME="Author" CONTENT="Alpha">
<TITLE>程序員學歷情況調查表-By Alpha</TITLE>
</HEAD>
<BODY>
<%
DefaultPieDataset data = new DefaultPieDataset();
//數據初始化
data.setValue("高中以下",380);
data.setValue("高中",1620);
data.setValue("大專",6100);
data.setValue("本科",8310);
data.setValue("碩士",3520);
data.setValue("博士",180);
//HttpSession session = request.getSession();
PiePlot3D plot = new PiePlot3D(data);//生成一個3D餅圖
//plot.setURLGenerator(new StandardPieURLGenerator("DegreedView.jsp"));//設定圖片鏈接
JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);
chart.setBackgroundPaint(java.awt.Color.white);//可選,設置圖片背景色
chart.setTitle("程序員學歷情況調查表-By Alpha");//可選,設置圖片標題
plot.setToolTipGenerator(new StandardPieToolTipGenerator());
StandardEntityCollection sec = new StandardEntityCollection();
ChartRenderingInfo info = new ChartRenderingInfo(sec);
PrintWriter w = new PrintWriter(out);//輸出MAP信息
//500是圖片長度,300是圖片高度
//String filename = ServletUtilities.saveChartAsPNG(chart,500,300,info,session);
String filename = ServletUtilities.saveChartAsJPEG(chart,500,300,info,session);
ChartUtilities.writeImageMap(w,"map0",info,false);
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
%>
<P ALIGN="CENTER">
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#map0">
</P>
</BODY>
</HTML>
測試代碼:java
package com.hujinpu.test;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
public class First {
public static void main(String[] args) {
// 第一步創建數據集
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("類別1", 125.3);
dataset.setValue("類別2", 52.7);
dataset.setValue("類別3", 10.6);
dataset.setValue("類別4", 85.96);
dataset.setValue("類別5", 43.2);
JFreeChart chart = ChartFactory.createPieChart(
"第一個餅圖",
dataset, true, // 是否有圖注
true, // 是否有提示
false // 是否有URLS
);
// 第三步讓它顯示
ChartFrame frame = new ChartFrame("test", chart);
frame.pack();
frame.setVisible(true);
}
}