基於web的jfreechart的使用

2021-12-30 02:56:30 字數 2462 閱讀 5546

這個模組的主要步驟就是:

前台通過struts呼叫後台,通過jfreechart產生格式的圖表,儲存在某個位置,然後前台jsp再去呼叫。

來開工。

jfreechart的簡介大家請百度。

首先需要兩個包,jcommon-1.0.16.jar和jfreechart-1.0.13.jar。

jfreechart(下面就簡稱jfc),有可能會出現中午亂碼問題,我建議大家就找上面那兩個包,至少不會出那些需要換包的問題。

先看看效果

生成的:

前台的顯示效果:

後台的方法

public string statistic()

/*** 生成柱狀圖

*/public void getbarchart() catch (ioexception e)

}/**

* 得到生成柱狀圖的資料結果集,將方法tongji()所得到的結果集中的資料依次新增到dataset中

** @return dataset 返回柱狀圖所需要的資料結果集

*/public categorydataset getdataset()

return dataset;

}/**

* 生成餅狀圖

*/public void getpiechart() 表示選項, 表示數值,

// 表示所佔比例 ,小數點後兩位

plot.setlabelgenerator(new standardpiesectionlabelgenerator(

=(), numberformat.getnumberinstance(),

new decimalformat(0.00%)));

// 圖例顯示百分比:自定義方式, 表示選項, 表示數值, 表示所佔比例

plot.setlegendlabelgenerator(new standardpiesectionlabelgenerator());

// 指定的透明度(0.0-1.0)

plot.setforegroundalpha(1.0f);

// 指定顯示的餅圖上圓形(true)還橢圓形(false)

plot.setcircular(true);

// 設定圖上分類標籤label的字型,解決中文亂碼

plot.setlabelfont(new font(黑體, font.plain, 12));

// 設定圖上分類標籤label的最大寬度,相對與plot的百分比

plot.setmaximumlabelwidth(0.2);

// 設定3d餅圖的z軸高度(0.0~1.0)

plot.setdepthfactor(0.07);

// 設定起始角度,預設值為90,當為0時,起始值在3點鐘方向

plot.setstartangle(45);

// 設定圖標題的字型,解決中文亂碼

texttitle texttitle = chart.gettitle();

texttitle.setfont(new font(黑體, font.plain, 20));

// 設定背景色為白色

chart.setbackgroundpaint(color.white);

// 設定legend部分字型,解決中文亂碼

chart.getlegend().setitemfont(new font(宋體, font.plain, 12));

date date = new date();

charttimetag = long.tostring(date.gettime());// 獲取當前的時間戳

string path = servletactioncontext.getservletcontext().getrealpath(/)

+ resources/chart/ + charttimetag + .png;// 的儲存路徑

// 輸出到檔案

//+resources/chart/abc.png;

system.out.println(path);

fileoutputstream fos_png = null;

try catch (ioexception e)

}/**

* 得到生成餅狀圖的資料結果集:將方法tongji()所得到的結果集中的資料依次新增到dataset中

** @return dataset 返回餅狀圖所需要的資料結果集

*/public piedataset getpiedataset()

return dataset;

}返回的jsp頁面部分**如下:

.png / width=500px>

《基於WEB程式設計》

三 選擇題ii 每題5分,共20分 1.下述 在使用者改變下拉列表框選擇時,會呼叫 方法 asp listitem第1項 asp listitem第2項 asp listitem第3項 a.listitem b.dropdownlist1 selectedindexchanged c.server ...

基於HttpListener的web伺服器

前面兩篇文章分別介紹了基於原始socket的web伺服器和基於tcplistener的web伺服器,本篇文章將繼續介紹另外一種基於httplistener的。httplistener進一步的簡化了http協議的監聽,僅需通過字串的方法提供監聽的位址和埠號以及虛擬路徑,就可以開始監聽工作了。設定字首,...

基於tornado的WEB服務

搭建乙個微型的web服務,監聽8000埠,如有接收到客戶端的網頁請求,根據請求的路徑 返回 對應的資訊。監聽埠設定 命令列或是python指令碼內?如何設定 web.py程式執行時,必須監聽伺服器端口,以便向客戶提供服務。如果我們將埠,定義在指令碼 內部,那麼,如果想要改動監聽的埠,我們必須要修改指...