<%
DefaultPieDataset data = new DefaultPieDataset();
data.setValue("Spring2.0寶典",47000);
data.setValue("輕量級J2EE企業應用實戰",38000);
data.setValue("基於J2EE的Ajax寶典",31000);
data.setValue("JavaScript權威指南",29000);
data.setValue("Ajax In Action",25000);
//創建3D餅圖的Plot對象
PiePlot3D plot = new PiePlot3D(data);
plot.setLabelFont(new Font("隸書", Font.BOLD, 16));
JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);
chart.setTitle(new TextTitle("圖書銷量統計圖", new Font("黑體", Font.ITALIC , 22)));
//獲取統計圖表的圖例對象
LegendTitle legend = chart.getLegend(0);
//修改圖例的字體
legend.setItemFont(new Font("宋體", Font.BOLD, 13));
//生成餅圖各部分的提示,當鼠標懸停時顯示實際統計值。
plot.setToolTipGenerator(new StandardPieToolTipGenerator());
//設定熱點鏈接
plot.setURLGenerator(new StandardPieURLGenerator("b.jsp"));
StandardEntityCollection entityCollection = new StandardEntityCollection();
//生成RenderingInfo實例
ChartRenderingInfo info = new ChartRenderingInfo(entityCollection);
//將頁面輸出流out包裝成一個PrintWriter實例
PrintWriter pw = new PrintWriter(out);
//在Web服務器的臨時目錄生成一張圖片,720是圖片長度,450是圖片高度
String filename = ServletUtilities.saveChartAsPNG(chart, 720, 450, info, null);
//將圖表的熱點信息在HTML頁面中輸出,pw代表頁面的輸出流,map0是定義熱點的Map標籤ID
//info參數就是圖片的熱點信息
ChartUtilities.writeImageMap(pw, "map0", info, false);
%>
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=GBK">
<TITLE>圖書銷量餅圖</TITLE>
</HEAD>
<BODY>
<div ALIGN="CENTER">
<img src="servlet/DisplayChart?filename=<%=filename%>" width="720" height="450" usemap="#map0">
</div>