PHP利用jpgraph类画折线图
1 JpGraph簡介
JpGraph是開源的PHP統(tǒng)計(jì)圖表生成庫,基于PHP的GD2圖形庫構(gòu)建,把生成統(tǒng)計(jì)圖的相關(guān)操作封裝,隱藏了部分復(fù)雜的操作,使在PHP頁面上輸出統(tǒng)計(jì)圖表變得更加容易。
JpGraph的官方網(wǎng)站為:http://www.aditus.nu/jpgraph/index.php,開發(fā)者可以在上面免費(fèi)下載最新版的JpGraph和閱讀相關(guān)幫助文檔或示例程序。
?
2 JpGraph的配置
在使用JpGraph前,必須對其進(jìn)行配置,主要有兩方面:1、開啟GD2圖形庫;2、配置中文顯示。主要步驟如下:
?
(1)檢查PHP是否支持GD庫
在php.ini文件中找到語句;extension=php_gd2.dll
把上述語句前的;號去掉,即去掉注釋。如果因?yàn)?span lang="EN-US" style="word-wrap:normal; word-break:normal">PHP版本不同而找不到此語句,則可直接添加extension=php_gd2.dll
?
(2)由于JpGraph目前僅支持simhei一種中文字體,所以第二步應(yīng)把simhei.ttf放到如下路徑中
windows中:C:\Windows\Fonts\
Linux中:/usr/X11R6/lib/X11/fonts/truetype/
?
(3)修改文件jpgraph_ttf.inc.php
添加語句:DEFINE("FF_SIMSUN",30); //其中30可以為其他數(shù)字,只要不與其他語句重復(fù)就可以
?
(4)修改文件jpg-config.inc.php
找到語句:DEFINE('CHINESE_TTF_FONT','bkai00mp.ttf');
替換為:DEFINE('CHINESE_TTF_FONT','simsun.ttc');
?
(5)修改文件jpgraph_gb2312.php
找到函數(shù):function gb2utf8($gb)
把函數(shù)修改為:
???function gb2utf8($gb) {
????return $gb;
?
????}
即把gb2編碼方式轉(zhuǎn)utf8方式的那段代碼注釋掉
?
3 JpGraph的使用
下載JpGraph并解壓后,將看到JpGraph庫實(shí)際上就是眾多的PHP文件,他們封裝了使用PHP預(yù)定義庫進(jìn)行圖形生成的復(fù)雜操作。其中Examples文件夾里面的是示例程序,JpGraph的相關(guān)特性將可以在這些示例中得以體現(xiàn)。其他文件則是JpGraph的庫文件,在實(shí)際使用JpGraph的過程中需要include或require相應(yīng)的文件。
以下是一個詳細(xì)的例子(復(fù)制的時候請注意,生成一個ANSI格式)
?<?php
?//用PHP畫折線圖
?include("jpgraph/jpgraph.php");
?include("jpgraph/jpgraph_line.php");
?$datay = array(8320,9360,14956,17028,13060);?//填充的數(shù)據(jù)
?$graph = new Graph(600,300,"auto");????//生成畫布
?//設(shè)置畫布的邊距
?$graph->img->SetMargin(50,40,30,40);
?//設(shè)置拆線的平滑狀態(tài)
?$graph->img->SetAntiAliasing();
?//設(shè)置刻度樣式
?$graph->SetScale("textlin");
?//創(chuàng)建畫布陰影
?$graph->SetShadow();
?//設(shè)置標(biāo)題
?$graph->title->Set("《LINUX系統(tǒng)管理員》圖書月銷售客額折線圖");
?//設(shè)置標(biāo)題字體
?$graph->title->SetFont(FF_SIMSUN,FS_BOLD);
?//設(shè)置畫布的背景顏色為淡藍(lán)色
?$graph->SetMarginColor("lightblue");
?//設(shè)置Y軸標(biāo)題的字體
?$graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD);
?$graph->xaxis->SetPos("min");
?$graph->yaxis->HideZeroLabel();
?$graph->ygrid->SetFill(true,'#EFEFEF@0.5','#BBCCFF@0.5');
?//設(shè)置X軸
?$a=array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");
?$graph->xaxis->SetTickLabels($a);
?//設(shè)置X坐標(biāo)軸的字體
?$graph->xaxis->SetFont(FF_SIMSUN);
?$graph->yscale->SetGrace(20);
?//創(chuàng)建折線圖對象
?$p1 = new LinePlot($datay);
?//設(shè)置數(shù)據(jù)坐標(biāo)點(diǎn)為圖形標(biāo)記
?$p1->mark->SetType(MARK_FILLEDCIRCLE);
?//設(shè)置填充的顏色
?$p1->mark->SetFillColor("red");
?//設(shè)置圓柱形標(biāo)記的直徑為4像素
?$p1->mark->SetWidth(4);
?//設(shè)置拆線顏色為藍(lán)色
?$p1->mark->SetColor("blue");
?//在X軸的各坐標(biāo)點(diǎn)中心位置繪制拆線
?$p1->SetCenter();
?//在統(tǒng)計(jì)圖上繪制折線
?$graph->Add($p1);
?//輸出圖像
?$graph->Stroke();
?>
總結(jié)
以上是生活随笔為你收集整理的PHP利用jpgraph类画折线图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有两个正方形花坛边长为4cm,5cm,其
- 下一篇: 有钱花刷卡什么意思