无图表引擎驱动下使用Jpgraph插件绘制图表详解

浏览:5526 发布日期:2013/08/31 分类:技术分享 关键字: Jpgraph 图表 驱动
Jpgraph提供强大的图表绘制功能,对于PHP开发者来说已是众所周知的事情。如何在TP中使用这个第三方类库,是许多TP开发使用人员所关心的问题。本人参考了一些教程,得到一些启发。这些教程大多数都使用了图表引擎驱动,效果很好。接下来,我向大家介绍一种无驱动下,在TP中调用Jpgraph方法,也很简单明了,并且达到同样的效果。
(一)准备工作:下载Jpgraph(网址:http://jpgraph.net/download/)。将下载后的文件解压,得到如下的目录结构:

新建一个名为Jpgraph的文件夹,把解压后子文件夹src中的所有内容考到新建的Jpgraph里(注:Examples文件夹可不拷贝,里面是一些例程)。这样准备工作就做好了。
(二)导入类库:将上面的Jpgraph文件夹拷贝到TP的第三方扩展库下,即ThinkPHP/Extend/Vendor/下,目录结构如下图所示:

(三)在控制器里调用Jpgraph类库:在ThinkPHP/Extend/Vendor/下的readme.txt中告诉了我们在TP中引入类库的方法,截个图如下:

所以,话不多说,直接给出在控制器里的代码:<?php
    class JpgraphAction extends Action{
        public function index() {            
            // 引入必要的文件,格式:vendor('Jpgraph文件夹.类名')
            vendor('Jpgraph.jpgraph');   //必须的
            vendor('Jpgraph.jpgraph_bar');   //依具体情况引入
            
            $data1y=array(-8,8,9,3,5,6);
            $data2y=array(18,2,1,7,5,4);
            
            // 新建图表
            $graph = new Graph(500,400); 
            $graph->SetScale("textlin");
            
            $graph->SetShadow();
            $graph->img->SetMargin(40,30,20,40);
            
            // 绘制柱状图
            $b1plot = new BarPlot($data1y);
            $b1plot->SetFillColor("orange");
            $b1plot->value->Show();
            $b2plot = new BarPlot($data2y);
            $b2plot->SetFillColor("blue");
            $b2plot->value->Show();
            
            // 创建分组的柱状图
            $gbplot = new AccBarPlot(array($b1plot,$b2plot));
            
            // 将柱状图添加到图表上
            $graph->Add($gbplot);
            
            //其他格式设置
            $graph->title->Set("Accumulated bar plots");
            $graph->xaxis->title->Set("X-title");
            $graph->yaxis->title->Set("Y-title");
            
            $graph->title->SetFont(FF_FONT1,FS_BOLD);
            $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
            $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
            
            // 显示图表
            $graph->Stroke();
        }
    }
?>
(四)运行程序,显示图表:
方法一、直接显示:输入网址http://localhost/项目名称/index.php/Index/Jpgraph/index
方法二、在模板中显示:<img src="{:U('Index/Jpgraph/index')}">
备注一下:本控制器是项目的Index分组下的JpgraphAction控制器。
运行结果截图如下:

以上是本篇文章的全部内容,希望对你有所用处。如存在任何问题,欢迎批评指正,也欢迎讨论交流。
最佳答案
评论( 相关
后面还有条评论,点击查看>>