1.導入JFreeChart JAR包
2.String shebeino=request.getParameter("shebeino");
Ianalysis ian=new AnalysisImpl();
Analysis a=ian.getAnalysisByUserAnaly(shebeino);
if(a!=null){
response.setContentType("image/jpeg");
HttpSession session=request.getSession();
DefaultPieDataset dataset = new DefaultPieDataset();
if(a.getNewCar()!=0){
dataset.setValue("A",a.getNewCar());
}
if(a.getShoppingGuide()!=0){
dataset.setValue("B",a.getShoppingGuide());
}
if(a.getCartest()!=0){
dataset.setValue("C",a.getCartest());
}
if(a.getInformation()!=0){
dataset.setValue("D",a.getInformation());
}
if(a.getMarket()!=0){
dataset.setValue("E",a.getMarket());
}
if(a.getKutu()!=0){
dataset.setValue("F",a.getKutu());
}
if(a.getVedio()!=0){
dataset.setValue("G",a.getVedio());
}
DefaultPieDataset data = dataset;
//DefaultPieDataset data = getDataSet();
JFreeChart chart = ChartFactory.createPieChart3D(a.getUserAnaly(), // 圖表標題
data,
true, // 是否顯示圖例
false,
false
);
PiePlot pieplot = (PiePlot) chart.getPlot();
pieplot.setNoDataMessage("無數據可供顯示!"); // 沒有數據的時候顯示的內容
pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator(
("{0}: ({2})"), NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
// 寫圖表對象到文件,參照柱狀圖生成源碼
// ChartUtilities.writeChartAsJPEG(response.getOutputStream(),
// 100,chart,400,300,null);
String filename=ServletUtilities.saveChartAsPNG(chart,300,300,session);
String url=request.getContextPath()+"/DisplayChart?filename="+filename;
//System.out.println(url);
request.setAttribute("url",url);
}
request.getRequestDispatcher("userbehavior.jsp").forward(request, response);