jpgraph专门提供图表的类库。它使得作图变成了一件非常简单的事情,你只需从数据库中取出相关数据,定义标题,图表类型,然后的事情就交给JpGraph,只需掌握为数不多的JpGraph内置函数(可以参照JpGraph附带例子学习),就可以画出非常炫目的图表!
到网站http://www.aditus.nu/jpgraph/下载最新版本
确保你的php支持gd2库,不明白可以到http://cn.php.net/manual/zh/ref.image.php参考相关安装信息
下面进行配置jpgraph
解压出来的有个src目录,里面就是画图所需的库文件。
如果需要汉子,需要配置字体文件,src目录下jpg-config.inc.php找到 // DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");改成
DEFINE("TTF_DIR","/usr/share/fonts/zh_CN/TrueType/");
把windows中simsun.ttc文件拷贝到该目录下
字体配置完毕
下面就开始使用它的库
新建一个test.php脚本文件,内容如下
include ( "src/jpgraph.php");
include ("src/jpgraph_pie.php");
$data = array(40,60);
$graph = new PieGraph (400,300);
$graph->SetShadow();
$graph->title-> Set( iconv("UTF-8","GB2312","中华人民共和国中央人民政府"));
$graph ->title->SetFont( FF_SIMSUN);
$p1 = new PiePlot( $data);
$legends = array(iconv("UTF-8","GB2312","中").' (%d)',iconv("UTF-8","GB2312","国").' (%d)');
$p1->SetLegends($legends);
$graph->legend->SetFont(FF_SIMSUN);
$graph->Add( $p1);
$graph->Stroke();
?>
由于脚本是utf8编码,在图片中显示的汉字是gb2312所以需要用iconv函数转换一下编码。
好了,你可以打开浏览器输入地址,就可以看到图片啦
高级应用
增加字体,我的fedora8上有个自带的字体zysong.ttf,拷贝到TTF_DIR目录中。
在jpgraph_ttf.inc.php文件中,找到// Chinese font,在加一行DEFINE("FF_ZYSONG",32);数字是没有被使用过的不太大的,你加的时候可以搜索一下。
找到elseif( $aFF === FF_SIMSUN ) {这句
在上面加一段,elseif( $aFF === FF_ZYSONG ) {
// Do Chinese conversion
if( $this->g2312 == null ) {
include_once 'jpgraph_gb2312.php' ;
$this->g2312 = new GB2312toUTF8();
}
return $this->g2312->gb2utf8($aTxt);
}
然后找到 FF_CHINESE => array(FS_NORMAL =>CHINESE_TTF_FONT,
FS_BOLD =>'',
FS_ITALIC =>'',
FS_BOLDITALIC =>'' ),
在下面在加一段
FF_ZYSONG => array(FS_NORMAL =>'zysong.ttf',
FS_BOLD =>'',
FS_ITALIC =>'',
FS_BOLDITALIC =>'' ),
好,配置完毕,你新增加的字体就可以使用了
上面的脚本中将 FF_SIMSUN改为FF_ZYSONG就可以了,测试一下。
好了,以上简单介绍一下jpgraph的使用,更多请参照官方的文档,或其他网友的介绍。
如有问题可以联系我,共同研究!