查看文章 |
学习 JpGraph 一点心得
2009年02月22日 星期日 23:05
前言: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/’); 重新刷新即可。 |
最近读者: