日常开发中经常需要做图表,比如线状图、饼状图、柱状图等等,用PHP作图时需要使用复杂抽象的画图函数,或者借助一些网上下载的花柱形图、饼形图的类来实现,没有一个统一的chart类来实现图表的快速开发,非常麻烦。
现在我们有了一个新的选择:JpGraph。专门提供图表的类库。它使得作图变成了一件非常简单的事情,你只需从数据库中取出相关数据,定义标题,图表类型,然后的事情就交给JpGraph,只需掌握为数不多的JpGraph内置函数(可以参照JpGraph附带例子学习),就可以画出非常炫目的图表!

要求:确保你的PHP版本最低为4.04(最好是4.1.1),并且支持GD库。必须确保GD库可以正常运行,可以通过运行phpinfo()来查看GD库的信息是否存在的方法来判断。同时要有要求GD库的版本应为2.0,而不是1.0。
附件里的JpGraph已经修改为支持thinkphp,可以生成饼状图,线状图,柱状图等等,只需要按照说明放入第三方类库,使用时倒入即可。以thinkphp2.1为例:先将附件里面的Jpgraph.zip插件解压,复制到ThinkPHP/Vendor目录下面,然后将驱动文件”Chart.class.php”复制到’ThinkPHP/Lib/Think/Util’,这个目录下面,然后就可以直接在action文件里面直接使用。

3.1.2版本的话可以这么放置:1、将Jpgraph.zip解压到ThinkPHP/Extend/Vendor目录,目录不存在自己创建。2、将Chart.class.php放置到ThinkPHP/Extend/Library/ORG/Util目录中,目录不存在自己创建。使用之前请先导入Chart类,方法为 import(“ORG.Util.Chart”);即可。

下面提供一些方法供参考。

class TestAction extends Action{

//3D饼图
function index(){
$chart = new Chart();
$title = “3D饼图”; //标题
$data = array(20,27,45,75,90,10,20,40); //数据
$size = 140; //尺寸
$width = 750; //宽度
$height = 350; //高度
$legend = array(“aaaa “,”bbbb”,”cccc”,”dddd “,”eeee “,”ffff “,”gggg “,”hhhh “);//说明
$chart->create3dpie($title,$data,$size,$height,$width,$legend);
}

//柱状图
function test1(){
$chart = new Chart();
$title = “柱状图”; //标题
$data = array(20,27,45,75,90,10,80,100); //数据
$size = 140; //尺寸
$width = 750; //宽度
$height = 350; //高度
$legend = array(“aaaa “,”bbbb”,”cccc”,”dddd “,”eeee “,”ffff “,”gggg “,”hhhh “);//说明
$chart->createcolumnar($title,$data,$size,$height,$width,$legend);
}
//线图
function test1(){
$chart = new Chart();
$title = “柱状图”; //标题
$data = array(20,27,45,75,90,10,80,100); //数据
$size = 140; //尺寸
$width = 750; //宽度
$height = 350; //高度
$legend = array(“aaaa “,”bbbb”,”cccc”,”dddd “,”eeee “,”ffff “,”gggg “,”hhhh “);//说明
$chart->createmonthline($title,$data,$size,$height,$width,$legend);
}

//环状图
function test1(){
$chart = new Chart();
$title = “柱状图”; //标题
$data = array(20,27,45,75,90,10,80,100); //数据
$size = 140; //尺寸
$width = 750; //宽度
$height = 350; //高度
$legend = array(“aaaa “,”bbbb”,”cccc”,”dddd “,”eeee “,”ffff “,”gggg “,”hhhh “);//说明
$chart->createring($title,$data,$size,$height,$width,$legend);
}

//横柱图
function test2(){
$chart = new Chart();
$title = “柱商务图”; //标题
$subtitle = “2012 年6月”;
$data = array(20,27,45,75,90,100,80,100,300,500,1000,200,300,100,400,600); //数据
$size = 140; //尺寸
$width = 750; //宽度
$height = 350; //高度
$legend = array(“张三1″,”张三2″,”张三3″,”张三4″,”张三5″,”张三6″,”张三7″,”张三8″);//说明
$chart = new Chart();
$chart->createhorizoncolumnar($title,$subtitle,$data,$size,$height,$width,$legend);
}
}

注意点:
1.$legend与$data这两个数组,为索引数组,下标必须连续,间隔的话,生成的图标就会产生错位。
2.生成的为一张图片,其他地方可以调用,使用img标签即可。

PS:phpexcel源码包下载地址:

http://pan.baidu.com/share/link?shareid=471807&uk=100806524

解压密码:www.ithinkphp.com

tp可用的超强第三方图表类库-JpGraph的更多相关文章

  1. 超强可视化图表工具:Smartbi!!

    要制作出专业的可视化图表,还是需要一定的学习成本的,并且需要大量的时间.并且即使是制作出来,配色也是一大难题,对于一般人而言,通常会通过两种方式实现可视化大屏的制作: 1.写代码 大部分人可能会选择大 ...

  2. PHP图标类库 - JpGraph使用详解

    http://w3note.com/web/181.html 微信平台开发的推广支持应用里,为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二 ...

  3. 三个常用的PHP图表类库

    Jpgraph 只要把example中的require_once路径改了就放进来用吧,我下的是最新版的jpgraph-3.5.0b1,反正测试嘛,我记得跟3.0.7还是有差别的,把文件名都重新命名过了 ...

  4. php统计图类库JpGraph

    php统计图类库JpGraph JpGraph官网地址:https://jpgraph.net/. (1)下载类库: 下载地址:https://jpgraph.net/download/. 选择版本, ...

  5. Android图表类库:WilliamChart

    WilliamChart是基于Views的Android图表类库,帮助开发者在Android应用中实现折线图.柱状图和堆叠柱状图.数值发生变化时图表也会以动画的效果发生变化. At the momen ...

  6. 让时间处理简单化 【第三方扩展类库org.apache.commons.lang.time】

    JAVA的时间日期处理一直是一个比较复杂的问题,大多数程序员都不能很轻松的来处理这些问题.首先Java中关于时间的类,从 JDK 1.1 开始,Date的作用很有限,相应的功能已由Calendar与D ...

  7. 使用CocoaPods管理第三方开源类库

    iOS开发中经常会用到许多第三方开源类库,比如AFNetworking.FMDB.JSONKit等等,使用CocoaPods这个工具就能很方便得对工程中用到的类库进行管理,包括自动下载配置以及更新. ...

  8. xcode引入第三方静态类库 duplicate symbol _OBJC_XXX 重复编译错误

    xcode引入第三方静态类库 duplicate symbol _OBJC_XXX 重复编译错误 一:场景 xcode 同时引入了 libA.a, libB.a 两个静态类库,如果 这两个静态类库之中 ...

  9. 5个最顶级jQuery图表类库插件-Charting plugin

    转载: http://www.cnblogs.com/chu888chu888/archive/2012/12/22/2828962.html 作者:Leonel Hilario翻译:Terry li ...

随机推荐

  1. Hibernate之通过hibernate.cfg.xml配置文件访问数据库的例子

    hibernate.cfg.xml文件内容: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...

  2. SET XACT_ABORT 的用法[转]

    SET XACT_ABORT指定当 Transact-SQL 语句产生运行时错误时,Microsoft® SQL Server™ 是否自动回滚当前事务. 语法 SET XACT_ABORT { ON ...

  3. HTML5 JavaScript 文件上传

    function fileUpload(targetUrl) { // 隐藏表单名称 var inputName = '_fileselect'; // 文件尺寸 this.fileSize = 0; ...

  4. 【转】实战Nginx与PHP(FastCGI)的安装、配置与优化

    原文连接:http://ixdba.blog.51cto.com/2895551/806622 原文作者:南非蚂蚁 转载注明以上信息 一.什么是 FastCGIFastCGI是一个可伸缩地.高速地在H ...

  5. Eclipse Juno 配置反编译插件

    1 下载最新的jadClipse插件,地址:http://sourceforge.net/projects/jadclipse/files/jadclipse3.3/ 2 将net.sf.jadcli ...

  6. SQL Server 视图

    视图实际上就是一个存储查询,重点是是可以混合和匹配来自基本表(或者其他视图)的数据,从而创建在很多方面像另一个基表那样起作用的对象.可以创建一个简单的查询,仅仅从一个表中选择几列,而忽略其他列:或者也 ...

  7. Linux下配置C/C++开发环境-----Eclipse

    先自己去官网下载jdk. 解压即安装. 然后在~/.bashrc文件里面配置下环境变量就行了.在文件最后添加以下路径,如下: JAVA_HOME=/home/username/jdk/jdk1.8.0 ...

  8. log4net 使用与配置 每天一份log文件

    1.下载 或 在nuget安装 log4net 2. web.config (app.config) <configuration> <configSections> < ...

  9. OutputCache祥解

    当用户訪问页面时,整个页面将会被server保存在内存中,这样就对页面进行了缓存.当用户再次訪问该页,页面不会再次运行数据操作,页面首先会检查server中是否存在缓存,假设缓存存在,则直接从缓存中获 ...

  10. 生成ssl证书文件

    网上关于生成SSL证书文件的方法有很多,但我查了几个,发现有或多或少的错误,如下我图文并茂的展示,亲测无任何问题,分享给大家,谢谢. 1.创建根证书密钥文件(自己做CA)root.key openss ...