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