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/’);
重新刷新即可
php作图方面一个非常好用的库jpgraph
最新推荐文章于 2022-07-29 15:51:59 发布