JpGraph php柱狀圖使用介紹
更新時(shí)間:2011年08月23日 00:11:41 作者:
以前用PHP作圖時(shí)必須要掌握復(fù)雜抽象的畫圖函數(shù),或者借助一些網(wǎng)上下載的花柱形圖、餅形圖的類來(lái)實(shí)現(xiàn)。沒(méi)有一個(gè)統(tǒng)一的chart類來(lái)實(shí)現(xiàn)圖表的快速開(kāi)發(fā)。
JpGraph簡(jiǎn)介
以前用PHP作圖時(shí)必須要掌握復(fù)雜抽象的畫圖函數(shù),或者借助一些網(wǎng)上下載的花柱形圖、餅形圖的類來(lái)實(shí)現(xiàn)。沒(méi)有一個(gè)統(tǒng)一的chart類來(lái)實(shí)現(xiàn)圖表的快速開(kāi)發(fā)。
現(xiàn)在我們有了一個(gè)新的選擇:JpGraph。專門提供圖表的類庫(kù)。它使得作圖變成了一件非常簡(jiǎn)單的事情,你只需從數(shù)據(jù)庫(kù)中取出相關(guān)數(shù)據(jù),定義標(biāo)題,圖表類型,然后的事情就交給JpGraph,只需掌握為數(shù)不多的JpGraph內(nèi)置函數(shù)(可以參照J(rèn)pGraph附帶例子學(xué)習(xí)),就可以畫出非常炫目的圖表!
JpGraph安裝方法:
1、
先到各大網(wǎng)站上下載最新的版本。如: http://www.dbjr.com.cn/codes/38194.html
2、
確保你的PHP版本最低為4.04(最好是4.1.1),并且支持GD庫(kù)。必須確保GD庫(kù)可以正常運(yùn)行,可以通過(guò)運(yùn)行phpinfo()來(lái)查看GD庫(kù)的信息是否存在的方法來(lái)判斷。同時(shí)要有要求GD庫(kù)的版本應(yīng)為2.0,而不是1.0。
3、
將下載的JpGraph壓縮包解壓到任意文件夾。
4、
設(shè)置jpgraph.php(jpgraph的主配置文件)。設(shè)置jpgraph的cache(緩存)文件夾,和TTF(字體)文件夾。
分別在35行和38行
35 // DEFINE("CACHE_DIR","/tmp/jpgraph_cache/");
38 // DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");
Linux系統(tǒng)改為:
DEFINE("CACHE_DIR","/tmp/jpgraph_cache/");'
DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");
Windows系統(tǒng)改為:
DEFINE("CACHE_DIR","c:/apache/htdocs/ jpgraph_cache/");'
DEFINE("TTF_DIR","c:/windows/fonts");
注意事項(xiàng):
?。?)cache(緩存)文件夾路徑可以自己定義,而TTF(字體)文件夾必須是%system%/Fonts。
?。?)確保PHP對(duì)cache(緩存)文件夾有寫的權(quán)限。
5、
完成上述設(shè)置后就可以使用JpGraph了,可以先將JpGraph的例子copy到htdocs文件夾中,運(yùn)行一下看看。呵呵,200多個(gè)例子,包含各類圖表,夠?qū)W一陣子的。
在實(shí)際使用中,筆者還遇到了一些問(wèn)題,比如字體錯(cuò)誤等等,還在研究中……
從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)到j(luò)pgraph圖表中
1、
將./src/Examples目錄中的文件example16.2.php以及./src目錄中的文件jpgraph_bar.php、jpgraph_gradient.php、jpgraph_line.php、jpgraph_plotmark.inc、jpgraph.php拷貝到同一目錄下。
2、
建立數(shù)據(jù)庫(kù)jpg,數(shù)據(jù)庫(kù)表test
建立2個(gè)字段:
id(主鍵):int
number:int
并添加一些數(shù)據(jù)
3、
修改example16.2.php
修改后的代碼
<?php
include ("jpgraph.php");
include ("jpgraph_line.php");
include ("jpgraph_bar.php");
$connect=mysql_connect("localhost","root","");
mysql_select_db("jpg",$connect);
$query=mysql_query("select * from test",$connect);
$i=0;
while ($array=mysql_fetch_array($query)) {
$l2datay[$i]=$array["number"];
$i++;
}
mysql_close($connect);
// Create the graph.
$graph = new Graph(400,200,"auto");
$graph->SetScale("textlin");
$graph->img->SetMargin(40,130,20,40);
$graph->SetShadow();
// Create the bar plot
$bplot = new BarPlot($l2datay);
$bplot->SetFillColor("orange");
$bplot->SetLegend("Result");
// Add the plots to t'he graph
$graph->Add($bplot);
$graph->title->Set("Adding a line plot to a bar graph v1");
$graph->xaxis->title->Set("X-title");
$graph->yaxis->title->Set("Y-title");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
//$graph->xaxis->SetTickLabels($datax);
//$graph->xaxis->SetTextTickInterval(2);
// Display the graph
$graph->Stroke();
?>
4、
刷新頁(yè)面即可看到結(jié)果
歷史信息
網(wǎng)絡(luò)優(yōu)化,300*200的圖片大小大概為2K,但普通圖片要比JpGraph生成的大4-5K
支持GD1和GD2,并且JpGraph會(huì)自動(dòng)探測(cè)系統(tǒng)安裝了哪個(gè)庫(kù)
支持多種圖表樣式,包括常見(jiàn)的網(wǎng)狀圖、花柱形圖、餅形圖(2D和3D的都可以)等等
支持3D透明,α混合技術(shù)
支持超過(guò)400種的已命名顏色
支持多種方式帶背景圖片的繪圖
支持生成的圖表網(wǎng)絡(luò)緩存以減輕HTTP服務(wù)器負(fù)擔(dān)
2009年9月17日:更新JpGraph 1.27.1。
2009年4月18日:更新JpGraph 1.27和JpGraph 2.34。
12月2日:今日有兩位phpchina的朋友加入我們的翻譯團(tuán)隊(duì):刺猬和Deman。
2008年6月28日:JpGraph中文站發(fā)布,雖然這是用ASP制作的網(wǎng)站,但并不代表站長(zhǎng)偏愛(ài)ASP
2008年6月15日:JpGraph 1.26發(fā)布。修復(fù)了餅形圖分割片問(wèn)題。也許這將是1.x發(fā)布版宣布停止更新后的最后一版2
008年6月14日:JpGraph 2.33發(fā)布
以前用PHP作圖時(shí)必須要掌握復(fù)雜抽象的畫圖函數(shù),或者借助一些網(wǎng)上下載的花柱形圖、餅形圖的類來(lái)實(shí)現(xiàn)。沒(méi)有一個(gè)統(tǒng)一的chart類來(lái)實(shí)現(xiàn)圖表的快速開(kāi)發(fā)。
現(xiàn)在我們有了一個(gè)新的選擇:JpGraph。專門提供圖表的類庫(kù)。它使得作圖變成了一件非常簡(jiǎn)單的事情,你只需從數(shù)據(jù)庫(kù)中取出相關(guān)數(shù)據(jù),定義標(biāo)題,圖表類型,然后的事情就交給JpGraph,只需掌握為數(shù)不多的JpGraph內(nèi)置函數(shù)(可以參照J(rèn)pGraph附帶例子學(xué)習(xí)),就可以畫出非常炫目的圖表!
JpGraph安裝方法:
1、
先到各大網(wǎng)站上下載最新的版本。如: http://www.dbjr.com.cn/codes/38194.html
2、
確保你的PHP版本最低為4.04(最好是4.1.1),并且支持GD庫(kù)。必須確保GD庫(kù)可以正常運(yùn)行,可以通過(guò)運(yùn)行phpinfo()來(lái)查看GD庫(kù)的信息是否存在的方法來(lái)判斷。同時(shí)要有要求GD庫(kù)的版本應(yīng)為2.0,而不是1.0。
3、
將下載的JpGraph壓縮包解壓到任意文件夾。
4、
設(shè)置jpgraph.php(jpgraph的主配置文件)。設(shè)置jpgraph的cache(緩存)文件夾,和TTF(字體)文件夾。
分別在35行和38行
復(fù)制代碼 代碼如下:
35 // DEFINE("CACHE_DIR","/tmp/jpgraph_cache/");
38 // DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");
Linux系統(tǒng)改為:
復(fù)制代碼 代碼如下:
DEFINE("CACHE_DIR","/tmp/jpgraph_cache/");'
DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");
Windows系統(tǒng)改為:
復(fù)制代碼 代碼如下:
DEFINE("CACHE_DIR","c:/apache/htdocs/ jpgraph_cache/");'
DEFINE("TTF_DIR","c:/windows/fonts");
注意事項(xiàng):
?。?)cache(緩存)文件夾路徑可以自己定義,而TTF(字體)文件夾必須是%system%/Fonts。
?。?)確保PHP對(duì)cache(緩存)文件夾有寫的權(quán)限。
5、
完成上述設(shè)置后就可以使用JpGraph了,可以先將JpGraph的例子copy到htdocs文件夾中,運(yùn)行一下看看。呵呵,200多個(gè)例子,包含各類圖表,夠?qū)W一陣子的。
在實(shí)際使用中,筆者還遇到了一些問(wèn)題,比如字體錯(cuò)誤等等,還在研究中……
從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)到j(luò)pgraph圖表中
1、
將./src/Examples目錄中的文件example16.2.php以及./src目錄中的文件jpgraph_bar.php、jpgraph_gradient.php、jpgraph_line.php、jpgraph_plotmark.inc、jpgraph.php拷貝到同一目錄下。
2、
建立數(shù)據(jù)庫(kù)jpg,數(shù)據(jù)庫(kù)表test
建立2個(gè)字段:
id(主鍵):int
number:int
并添加一些數(shù)據(jù)
3、
修改example16.2.php
修改后的代碼
復(fù)制代碼 代碼如下:
<?php
include ("jpgraph.php");
include ("jpgraph_line.php");
include ("jpgraph_bar.php");
$connect=mysql_connect("localhost","root","");
mysql_select_db("jpg",$connect);
$query=mysql_query("select * from test",$connect);
$i=0;
while ($array=mysql_fetch_array($query)) {
$l2datay[$i]=$array["number"];
$i++;
}
mysql_close($connect);
// Create the graph.
$graph = new Graph(400,200,"auto");
$graph->SetScale("textlin");
$graph->img->SetMargin(40,130,20,40);
$graph->SetShadow();
// Create the bar plot
$bplot = new BarPlot($l2datay);
$bplot->SetFillColor("orange");
$bplot->SetLegend("Result");
// Add the plots to t'he graph
$graph->Add($bplot);
$graph->title->Set("Adding a line plot to a bar graph v1");
$graph->xaxis->title->Set("X-title");
$graph->yaxis->title->Set("Y-title");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
//$graph->xaxis->SetTickLabels($datax);
//$graph->xaxis->SetTextTickInterval(2);
// Display the graph
$graph->Stroke();
?>
4、
刷新頁(yè)面即可看到結(jié)果
歷史信息
網(wǎng)絡(luò)優(yōu)化,300*200的圖片大小大概為2K,但普通圖片要比JpGraph生成的大4-5K
支持GD1和GD2,并且JpGraph會(huì)自動(dòng)探測(cè)系統(tǒng)安裝了哪個(gè)庫(kù)
支持多種圖表樣式,包括常見(jiàn)的網(wǎng)狀圖、花柱形圖、餅形圖(2D和3D的都可以)等等
支持3D透明,α混合技術(shù)
支持超過(guò)400種的已命名顏色
支持多種方式帶背景圖片的繪圖
支持生成的圖表網(wǎng)絡(luò)緩存以減輕HTTP服務(wù)器負(fù)擔(dān)
2009年9月17日:更新JpGraph 1.27.1。
2009年4月18日:更新JpGraph 1.27和JpGraph 2.34。
12月2日:今日有兩位phpchina的朋友加入我們的翻譯團(tuán)隊(duì):刺猬和Deman。
2008年6月28日:JpGraph中文站發(fā)布,雖然這是用ASP制作的網(wǎng)站,但并不代表站長(zhǎng)偏愛(ài)ASP
2008年6月15日:JpGraph 1.26發(fā)布。修復(fù)了餅形圖分割片問(wèn)題。也許這將是1.x發(fā)布版宣布停止更新后的最后一版2
008年6月14日:JpGraph 2.33發(fā)布
您可能感興趣的文章:
- php報(bào)表之jpgraph柱狀圖實(shí)例代碼
- PHP jpgraph庫(kù)的配置及生成統(tǒng)計(jì)圖表:折線圖、柱狀圖、餅狀圖
- php中jpgraph類庫(kù)的使用介紹
- php使用Jpgraph創(chuàng)建折線圖效果示例
- php使用Jpgraph繪制柱形圖的方法
- php使用Jpgraph繪制3D餅狀圖的方法
- php使用Jpgraph繪制餅狀圖的方法
- php圖形jpgraph操作實(shí)例分析
- php使用Jpgraph創(chuàng)建柱狀圖展示年度收支表效果示例
- PHP使用JpGraph繪制折線圖操作示例【附源碼下載】
- PHP使用JPGRAPH制作圓柱圖的方法詳解
相關(guān)文章
![php學(xué)習(xí)筆記 php中面向?qū)ο笕筇匦灾籟封裝性]的應(yīng)用](http://img.jbzj.com/images/xgimg/bcimg6.png)
php學(xué)習(xí)筆記 php中面向?qū)ο笕筇匦灾籟封裝性]的應(yīng)用
就是把對(duì)象的成員(屬性,方法)結(jié)合成一個(gè)獨(dú)立的相同單位,并盡可能隱藏對(duì)象的內(nèi)部細(xì)節(jié)
2011-06-06 
php中數(shù)據(jù)的批量導(dǎo)入(csv文件)
php中數(shù)據(jù)的批量導(dǎo)入(csv文件)...
2006-10-10