新聞中心

在慶城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),營銷型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè),慶城網(wǎng)站建設(shè)費(fèi)用合理。
1) 包含所需要的類庫文件
首先我們需要使用 require_once() 或者 include_once() 等函數(shù)將我們需要使用的類庫文件引入到當(dāng)前的代碼中。例如:
include_once("./src/jpgraph.php"); // JpGraph 類的主類
include_once("./src/jpgraph_bar.php"); // JpGraph 類的柱狀圖擴(kuò)展
include_once("./src/jpgraph_line.php"); // JpGraph 類的折線圖擴(kuò)展
include_once("./src/jpgraph_pie.php"); // JpGraph 類的餅狀圖擴(kuò)展
include_once("./src/jpgraph_pie3d.php"); // JpGraph 類的3D餅狀圖擴(kuò)展
2) 初始化數(shù)據(jù)
引入需要的文件后,接下來就可以初始化圖表中需要的數(shù)據(jù)了,如下所示:
$data = array();
這些數(shù)據(jù)可以是 PHP 程序中固定的數(shù)據(jù);也可以是存儲在數(shù)據(jù)庫或者文本文件中的數(shù)據(jù);還可以是通過 URL 參數(shù)傳遞的數(shù)據(jù)。
3) 創(chuàng)建 Graph 類實(shí)例
有了所需的數(shù)據(jù),接下來就需要來創(chuàng)建 Graph 類的實(shí)例了,我們可以通過創(chuàng)建實(shí)例的過程來設(shè)置生成圖像的尺寸,如下所示:
$graph = new Graph(400, 500);
4) 設(shè)置標(biāo)題及其字體、顏色、位置
JpGraph 中提供了很多可以設(shè)置的參數(shù),以便我們可以制作成多種多樣的圖像,例如下面這些:
$graph->title->Set('C語言中文網(wǎng)'); // 圖表標(biāo)題文本
$graph->title->SetColor('white'); // 圖表標(biāo)題顏色
$graph->title->SetFont(FF_VERDANA,FS_BOLD,14); // 圖表標(biāo)題字體
$graph->xaxis->title->Set('C語言中文網(wǎng)'); // X 軸標(biāo)題文本
$graph->xaxis->title->SetColor('black'); // X 軸標(biāo)題顏色
$graph->xaxis->title->SetFont(FF_VERDANA,FS_BOLD,10); // X 軸標(biāo)題字體
$graph->xaxis->SetTickLabels($xdata); // 設(shè)置 X 軸標(biāo)志數(shù)據(jù)(每個數(shù)據(jù)的標(biāo)志)
$graph->xaxis->SetColor('black','white'); // X 軸顏色
$graph->xaxis->SetFont(FF_VERDANA, FS_NORMAL,8); // X 軸字體
$graph->yaxis->title->Set('C語言中文網(wǎng)'); // Y 軸標(biāo)題文本
$graph->yaxis->title->SetColor('black'); // Y 軸標(biāo)題顏色
$graph->yaxis->title->SetFont(FF_VERDANA,FS_BOLD,10); // Y 軸標(biāo)題字體
$graph->yaxis->SetColor('black','white'); // Y 軸顏色
$graph->yaxis->SetFont(FF_VERDANA, FS_NORMAL,8); // Y 軸字體
5) 創(chuàng)建對應(yīng)的圖像實(shí)例
設(shè)置好圖標(biāo)的各個參數(shù)后,就可以創(chuàng)建指定圖標(biāo)的實(shí)例了,可以是折線圖、柱形圖、餅狀圖,3D 餅狀圖等,如下所示:
$bar = new BarPlot($data); //創(chuàng)建一個柱形圖對象
$line = new LinePlot($data); //創(chuàng)建折線圖對象
$pieplot = new PiePlot3D($data); //創(chuàng)建3D餅狀圖對象
6) 將數(shù)據(jù)添加到圖像上
$graph->Add();
7) 顯示圖像
$graph->Stroke();
至此一個簡單的圖形就完成了
注意:JpGraph 會默認(rèn)將漢字編碼認(rèn)定為 GB2312,并將之轉(zhuǎn)化為 UTF-8 格式后再顯示。所以如果文件的編碼格式為 GB2312,只需將 SetFont() 方法的第一個參數(shù)設(shè)置為 FF_SIMSUN 即可,如果是 UTF-8 編碼,則需要把漢字編碼轉(zhuǎn)化為 GB2312,這樣漢字才能正常顯示,轉(zhuǎn)換編碼方式可以使用 iconv("UTF-8","GB2312",$x);。
【示例】下面通過一個簡單的示例來演示一下如何使用 JpGraph 類庫來生成圖表。
setScale("textlin"); //設(shè)置刻度樣式,X軸和Y軸
$graph->yaxis->scale->SetGrace(20);
$graph->SetShadow(); //創(chuàng)建畫布陰影
$graph->img->setMargin(40,30,30,40);//設(shè)置生成的圖形與畫布邊緣的距離,順序?yàn)樽笥疑舷?
$bplot=new BarPlot($datay);//創(chuàng)建矩形對象
$bplot->SetFillcolor('orange');//設(shè)置柱形圖顏色
$graph->Add($bplot);//將柱形圖添加到圖像中
$bplot->value->Show();//設(shè)置顯示數(shù)字
$bplot->value->SetFormat('%d');//在柱形圖中顯示格式化的圖書銷量
$graph->SetMarginColor("lightblue");//設(shè)置畫布背景色為淡藍(lán)色
$graph->title->Set(iconv('utf-8', 'gb2312', 'C語言中文網(wǎng)'));//創(chuàng)建標(biāo)題
//設(shè)置X坐標(biāo)軸文字
$a=array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");
$graph->xaxis->SetTickLabels($a);//設(shè)置X軸
$graph->title->SetFont(FF_SIMSUN);//設(shè)置標(biāo)題的字體為"黑體",SetFont(x,x,x)第一個參數(shù)為字體,第二個參數(shù)為字 型,第三個參數(shù)為字號。
$graph->xaxis->SetFont(FF_SIMSUN);//設(shè)置X軸的字體
$graph->Stroke();//輸出圖像
?>
運(yùn)行結(jié)果如下圖所示:
圖:使用 JpGraph 生成圖表
提示:想要正常的在瀏覽器中輸出圖像需要先打開 JpGraph 的緩存功能,只需要我們在 jpg-config.inc.php 文件中將define('CACHE_DIR','/tmp/jpgraph_cache/');的注釋解開;
然后修改 define('USE_CACHE',False); 為 define('USE_CACHE',True); 即可。
最后需要注意的是,JpGraph 緩存文件不允許重復(fù)寫入,也就是說在調(diào)整代碼后,刷新頁面并不會更新圖表的內(nèi)容,需要手動刪除緩存文件才行,緩存文件位于頂級目錄下的 /tmp/jpgraph_cache/ 中,例如:如果我們的代碼在 D 盤的某個目錄中,則緩存文件位于 D:\tmp\jpgraph_cache 中。
網(wǎng)頁名稱:PHP使用JpGraph創(chuàng)建圖像
本文URL:http://fisionsoft.com.cn/article/djejigp.html


咨詢
建站咨詢
