本文實(shí)例講述了PHP圖形操作之Jpgraph學(xué)習(xí)筆記。分享給大家供大家參考,具體如下:
一、Jpgraph安裝配置
下載Jpgraph安裝包
解壓后放置磁盤中,(最好是放在和網(wǎng)頁一起)
修改php.ini文件:
1、內(nèi)存 memory_limit=X,至少為32M
2、執(zhí)行時(shí)間 max_execution_time=X,對于復(fù)雜的圖片加載時(shí)需要較多的時(shí)間,根據(jù)圖片的復(fù)雜度做相應(yīng)的修改
3、緩存 output_buffering 注釋掉緩存,便于調(diào)試
二、使用Jpgraph創(chuàng)建圖形的基本步驟(必要的)
1、包含所需要的類庫文件
2、初始化數(shù)據(jù)
可以是php程序中的固定數(shù)據(jù),即靜態(tài)數(shù)據(jù),直接得到
可以是存儲在文本文件中的數(shù)據(jù)
可以是存儲在數(shù)據(jù)庫中的數(shù)據(jù)
可以是通過URL參數(shù)傳遞的數(shù)據(jù)( GET 或 POST方式)
3、 創(chuàng)建Graph類實(shí)例
可以在此設(shè)置圖形的尺寸
4、設(shè)置標(biāo)題、x軸標(biāo)題、y軸標(biāo)題的內(nèi)容,及其字體、顏色、位置等
5、創(chuàng)建對應(yīng)的圖實(shí)例
可以是折線圖、柱形圖、餅狀圖,3d等
6、將數(shù)據(jù)添加到圖形上
7、顯示圖片
至此一個(gè)簡單的圖形就完成了
注意:
中文字體亂碼
Gpgraph默認(rèn)顯示漢字時(shí)是把漢字編碼認(rèn)為gb2312,轉(zhuǎn)化為utf-8以后再顯示,如果文件的編碼方式是gb2312,只需把SetFont()方法的第一個(gè)參數(shù)設(shè)置為FF_SIMSUN即可
如果是utf-8編碼的,需要先把漢字編碼轉(zhuǎn)化為gb2312,這樣漢字才能正常顯示
轉(zhuǎn)換編碼方式可以使用 iconv("UTF-8","gb2312",$x);
一些常用的方法:
$graph->title->Set('設(shè)置圖表的標(biāo)題');$graph->tabtitle->Set('設(shè)置圖片頭部文字');$graph->xaxis->title->Set("設(shè)置X軸的標(biāo)題");$graph->yaxis->title->Set("設(shè)置Y軸的標(biāo)題");$graph->SetScale('textlin');//設(shè)置刻度值類型$graph->img->SetMargin(50,40,40,55);//邊框間距(左右上下)$graph->title->SetFont(FF_SIMSUN,FS_BOLD,12);//標(biāo)題字體$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD,10);$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD,10);$graph->xaxis->SetFont(FF_SIMSUN,FS_BOLD,12);//坐標(biāo)柱上的字體$graph->yaxis->SetFont(FF_SIMSUN,FS_BOLD,12);$graph->title->SetColor('red'); ///標(biāo)題顏色$graph->xaxis->title->SetColor('red');$graph->yaxis->title->SetColor('red');$graph->xaxis->title->SetMargin(20);//距離坐標(biāo)軸的距離$graph->yaxis->title->SetMargin(20);//距離Y軸的距離$linepot->SetColor('red');//折線的顏色(折線圖)$linepot->SetWeight(2);//折線的寬度$linepot->value->SetFormat('%0.1f'); //值的格式化$linepot->value->show(true);//顯示值$graph->SetBackGroundImage ( );設(shè)置背景$graph->SetMarginColor('lightblue');//設(shè)置圖形顏色$graph->SetShadow();//$graph->Set3DPerspecttive(); //設(shè)置3d效果圖/*傾斜3D效果 1、' SKEW3D_UP ' 2、' SKEW3D_DOWN' 3、' SKEW3D_LEFT' 4、' SKEW3D_RIGHT'*/$p1->SetTheme('water');//設(shè)置樣式$p1->SetCenter(0.5,0.55);//設(shè)置圖形位置$graph->legend->Pos(0.1,0.9);//設(shè)置注釋文字的位置$graph->legend->SetFont(FF_SIMSUN,FS_BOLD,12);//設(shè)置注釋文字的字體
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。