红联Linux门户
Linux帮助

jpgraph使用

发布时间:2010-04-25 15:50:20来源:红联作者:静静飞舞
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的使用,更多请参照官方的文档,或其他网友的介绍。

  如有问题可以联系我,共同研究!
文章评论

共有 0 条评论