php教程利用flashchart產生柱狀圖
最近項目中需要產生類似excel的柱狀圖、餅圖、趨勢圖等等。。。
網上google了一番,發現了 Open Flash Chart 地址: http://teethgrinder.co.uk/open-flash-chart-2/ 。
非常好用的一款開源工具。目前最新版是2.0
——————————————————————————–
http://ofcgwt.googlecode.com/svn/demo/Demo.html 這裡有很多樣本可供參考。
不過不太推薦使用 googlecode上的這個範例程式碼,建議採用官方的範例程式碼和flash chart 。
flash chart的使用很簡單。
如下樣本:
//url形式
function embSwfWithUrl(dataurl,divcon){
var params = {
"wmode": "transparent",
"menu": "false",
"scale": "noScale",
"allowFullscreen": "false",
"allowScriptAccess": "always",
"bgcolor": "#c0c0c0" //背景
};
var flashvars = {
'data-file' : dataurl
};
swfobject.embedSWF("/swf/open-flash-chart.swf?timestamp=" + Math.random(),divcon, "450", "300", "10.0.0", "./swf/expressInstall.swf" ,flashvars,params);
}
embSwfWithUrl('http://xxx.com/xxx.html','swfCon');這裡的http://xxx.com/xxx.html返回的是相應的json格式的資料。
swfCon是放flash的div容器。
swfobject是開源的js處理flash的類。http://code.google.com/p/swfobject/
——————————————————————————–
注意下,flash chart 獲得資料的方式有兩種,
一種是 data-file 一種是 get-data
data-file 正是如上樣本,值必須是個 url地址,裡面返回的是 json資料。
而get-data的值則是一個函數名稱。 函數返回 json 資料。
如下樣本:
//get-data
function embSwfWithData(divcon,getdataFn){
var params = {
"wmode": "transparent", //視窗模式
"menu": "false", //菜單顯示
"scale": "noScale", //縮放
"allowFullscreen": "false", //允許全屏
"allowScriptAccess": "always", //允許指令碼
"bgcolor": "#c0c0c0" //背景
};
var flashVar = {
"get-data":getdataFn
};
swfobject.embedSWF("/swf/open-flash-chart.swf?timestamp=" + Math.random(), divcon, "450", "300", "10", "/swf/expressInstall.swf",flashVar ,params);
}
function getJsonData(){
return 'json data';
}這裡 “get-data”:getdataFn