下面通過查找資料做可兩個Demo只有餅圖和柱狀圖的其它的請各位自己研究了大同小異 下面來說說首先到官方網站下不到開發必須的兩個包:jcommonjarjfreechartrcjar就隨便找了兩個版本不高但是夠用下面就貼出調試過的代碼:
<%@ page language=java pageEncoding=GBK%>
<%@ page import=orgjfreedatageneralDefaultPieDataset%>
<%@ page import=orgjfreechart*%>
<%@ page import=orgjfreechartplot*%>
<%@ page import=orgjfreechartlabelsStandardPieSectionLabelGenerator%>
<%@ page import=orgjfreechartservletServletUtilities%>
<%@ page import=orgjfreecharturlsStandardPieURLGenerator%>
<%@ page import=orgjfreechartentityStandardEntityCollection%>
<%@ page import=javaio*%>
<!DOCTYPE html PUBLIC //WC//DTD HTML Transitional//EN >
<html>
<head>
<meta httpequiv=ContentType content=text/html; charset=GBK>
<title>Insert title here</title>
</head>
<body>
<% DefaultPieDataset data = new DefaultPieDataset();
datasetValue(高中以下);
datasetValue(高中);
datasetValue(大專);
datasetValue(本科);
datasetValue(碩士);
datasetValue(博士);
PiePlotD plot = new PiePlotD(data);//D餅圖
plotsetURLGenerator(new StandardPieURLGenerator(barviewjsp));//設定鏈接
JFreeChart chart = new JFreeChart(JFreeChartDEFAULT_TITLE_FONT plot true); //
chartsetBackgroundPaint(Colorwhite);//可選設置圖片背景色
chartsetTitle(程序員學歷情況調查表);//可選設置圖片標題 //
plotsetToolTipGenerator(new StandardPieSectionLabelGenerator());
StandardEntityCollection sec = new StandardEntityCollection();
ChartRenderingInfo info = new ChartRenderingInfo(sec);
responsesetContentType(text/html;charset=UTF);
PrintWriter w = new PrintWriter(out);//輸出MAP信息 //是圖片長度是圖片高度 String filename = ServletUtilitiessaveChartAsPNG(chart info session); ChartUtilitieswriteImageMap(w map info false);
String graphURL = requestgetContextPath() + /servlet/DisplayChart?filename= + filename;%>
<%@ page import=orgjfreechartChartFactory orgjfreechartJFreeChart orgjfreechartplotPlotOrientation orgjfreechartservletServletUtilities orgjfreedatacategory*%>
<% CategoryDataset dataset; String category=碩士;
if(categoryequals(本科)||categoryequals(高中)||categoryequals(大專)){
dataset=getDataSet();
outprint(datasetgetColumnCount());
}
else if(categoryequals(碩士)||categoryequals(博士)) {
dataset=getDataSet();
}else
{
dataset=getDataSet();
}
String title=category+程序員在各城市薪金情況統計;
JFreeChart chart = ChartFactorycreateBarChartD(title 城市 薪金 dataset PlotOrientationVERTICALtruefalsefalse);
String filename = ServletUtilitiessaveChartAsPNG(chart null session);
String graphURL = requestgetContextPath() + /servlet/DisplayChart?filename= + filename; %>
<P ALIGN=CENTER>
<img src=<%= graphURL %> width= height= border= usemap=#<%= filename %>>
</P>
<%!
public static CategoryDataset getDataSet() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
datasetaddValue( 北京 VB);
datasetaddValue( 上海 VB);
datasetaddValue( 廣州 VB);
datasetaddValue( 北京 JAVA);
datasetaddValue( 上海 JAVA);
datasetaddValue( 廣州 JAVA);
datasetaddValue( 北京 DOT NET);
datasetaddValue( 上海 DOT NET);
datasetaddValue( 廣州 DOT NET);
datasetaddValue( 北京 DELPHI);
datasetaddValue( 上海 DELPHI);
datasetaddValue( 廣州 DELPHI);
datasetaddValue( 北京 VC);
datasetaddValue( 上海 VC);
datasetaddValue( 廣州 VC); return dataset;
}
private static CategoryDataset getDataSet() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
datasetaddValue( 上海 VB);
datasetaddValue( 北京 JAVA);
datasetaddValue( 上海 JAVA);
datasetaddValue( 廣州 JAVA);
datasetaddValue( 北京 DOT NET);
datasetaddValue( 上海 DOT NET);
datasetaddValue( 廣州 DOT NET);
datasetaddValue( 北京 DELPHI);
datasetaddValue( 上海 DELPHI);
datasetaddValue( 北京 VC);
datasetaddValue( 上海 VC);
datasetaddValue( 廣州 VC);
return dataset;
}
private static CategoryDataset getDataSet() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
datasetaddValue( 北京 VB);
datasetaddValue( 上海 VB);
datasetaddValue( 廣州 VB);
datasetaddValue( 北京 JAVA);
datasetaddValue( 上海 JAVA);
datasetaddValue( 廣州 JAVA);
datasetaddValue( 北京 DOT NET);
datasetaddValue( 上海 DOT NET);
datasetaddValue( 廣州 DOT NET);
datasetaddValue( 北京 DELPHI);
datasetaddValue( 上海 DELPHI);
datasetaddValue( 廣州 DELPHI);
datasetaddValue( 北京 VC);
datasetaddValue( 上海 VC);
datasetaddValue( 廣州 VC);
return dataset;
}
%>
<P ALIGN=CENTER>
<img src=<%= graphURL %> width= height= border= usemap=#map>
</P>
</body>
</html>
From:http://tw.wingwit.com/Article/program/Java/hx/201311/25695.html