php作圖方面一個非常好用的庫jpgraph

來源:互聯網
上載者:User

         JpGraph 是一款用 PHP 編寫的作圖架構軟體(需要 GD 庫支援),它功能豐富,調用簡單,儘管如此,有些圖表的細節需要仔細查資料研究,本人在做項目時把遇到的問題和解決方案與大家分享。
安裝
JpGraph 的安裝十分簡便 :到 http://sourceforge.net/projects/jpgraph/ 下載,解壓到應用程式的根路徑即可。
使用範例一
這次我們以 Examples 目錄下的 example0.php 為例來講解一下如何初步使用 JpGraph。example0.php 代碼如下:

程式碼片段
<?php
include ("../jpgraph.php"); //必須要引用的檔案
include ("../jpgraph_line.php"); //包含曲線圖檔案

// y 軸資料,以數組形式賦值
$ydata = array(11,3,8,12,5,1,9,13,5,7);

// 建立 Graph 類,350 為寬度,250 長度,auto:表示產生的快取檔案名是該檔案的檔案名稱+副檔名(.jpg .png .gif ……)
$graph = new Graph(350,250,"auto");

// 設定刻度類型,x軸刻度可作為文本標註的直線刻度,y軸為直線刻度
$graph->SetScale("textlin");

// 建立座標類,將y軸資料注入
$lineplot=new LinePlot($ydata);

// y 軸連線設定為藍色
$lineplot->SetColor("blue");

// 座標類注入表徵圖類
$graph->Add($lineplot);

// 顯示圖
$graph->Stroke(); ?>

使用範例二
程式碼片段
<?php
$ydata = array(11,3,8,12,5,1,9,13,5,7);
// x 軸資料,作為 x 軸標註
$xdata = array('2007-3-01','2007-3-03','2007-3-05','2007-3-07','2007-3-09','2007-3-01','2007-3-11','2007-3-13','2007-3-15');
$graph = new Graph(350,150,"auto");
$graph->SetScale("textlin");

// 設定圖表大標題
$graph->title->Set(‘Example’);
$lineplot = new LinePlot($ydata);
$graph->Add($lineplot);

// 設定圖表灰階四周邊距,順序為左右上下
$graph->img->SetMargin(60,20,20,50);

// 設定輸出檔案格式為 jpg,預設為 png
$graph->img->SetImgFormat( "jpeg");

// y 軸座標描點形狀為菱形
$lineplot-> mark->SetType(MARK_DIAMOND );

// 加入 x 軸標註
$graph->xaxis->SetTickLabels($xdata);

// 定位 x 軸標註垂直位置應在最下方
$graph->xaxis->SetPos("min");

// 設定 x 軸標註文字為斜體,粗體,6號小字
$graph->xaxis->SetFont(FF_ARIAL,FS_BOLD,6);

// 設定 x 軸標註文字 45 度傾斜。註:前面 SetFont 必須為 FF_ARIAL
$graph->xaxis->SetLabelAngle(45);

// x 軸刻度間隔為 2
$graph->xaxis->SetTextLabelInterval(2);

// 標題和 y 軸標題字型為標準字型
$graph->title->SetFont(FF_FONT1,FS_BOLD,2);
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);

// y 軸座標點連線為藍色加深加粗
$lineplot->SetColor("blue:0.5");
$lineplot->SetWeight(2);
$graph->yaxis->SetColor("black");
$graph->yaxis->SetWeight(2);

// 陰影製作效果
$graph->SetShadow();

// 顯示圖形
$graph->Stroke(); ?>

可能遇到的問題
由於涉及到圖象輸出,所以在某些GUI配置不正確的系統中就可能會遇到一些顯示問題。最常見的是“找不到 XX 字型(比如FF_ARIAL 字型)”,遇到這種情況,我們可採取以下步驟解決:
1. 首先到具備這些字型的系統(比如 Windows 等系統)中或可以下載這些字型的地方把相關的字型羅列出來,然後把他們複製到某個我們 WEB 程式可以訪問的目錄(假定為 /www/fonts )內。
以 FF_ARIAL 字型為例,我們可以在 Windows 系統的 $windows/fonts 找到 arialbd.ttf 、arialbi.ttf、ariali.ttf、arial.ttf 這幾個字型檔,然後將其複製到 /www/fonts。
2. 修改jpgraph.php檔案。
找到
DEFINE('TTF_DIR','/usr/X11R6/lib/X11/fonts/truetype/');
這一行,將其改為
DEFINE('TTF_DIR',’/www/fonts/’);
重新重新整理即可

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.