日常开发中经常需要做图表,比如线状图、饼状图、柱状图等等,用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. pymssql文档

    原文地址 http://pymssql.org/en/latest/ref/_mssql.html _mssql module reference pymssql模块类,方法和属性的完整文档. Com ...

  2. python----特性002

    python特性002:特性是可继承的 #!/usr/local/python3.5/bin/python3 class Person(object): def __init__(self,name) ...

  3. Bing必应(Yahoo雅虎)搜索引擎登录网站 - Blog透视镜

    Bing必应是微软的搜索引擎,原本是置放在MSN网站上的,微软重新开发并改为新的名子,只要连到官网,登录网站后,过了不久,搜索引擎就会用爬虫,来检索你的网站,等过了一阵子之后,自然就可以找到你的文章. ...

  4. ubuntu14.04 安装搜狗输入法

    (1)下载链接 http://pinyin.sogou.com/linux/ (2)清除fcitx $sudo apt-get purge fcitx* (3)使用deb安装工具gdebi,这个工具能 ...

  5. 查看mysql 服务器上的连接进程

    SHOW PROCESSLIST #展示全部的连接进程 select * from information_schema.processlist where  db='qwuliu' #可以进行筛选查 ...

  6. C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)

    XML文档是一种通用的文档,这种文档既可以用.config作为后缀也可以用.xml作为后缀.XML文档主要由元素节点和节点的属性共同构成的.它有且仅有一个根节点,其他的节点全部都是根节点的子节点或者子 ...

  7. 函数fold 或reduce用法

    http://yi-programmer.com/2011-02-24_fold.html http://c2.com/cgi/wiki?FoldFunction http://rwh.readthe ...

  8. 安装 Kali Linux 后需要做的 20 件事

    安装 Kali Linux 后需要做的 20 件事 本文含有我觉得有用的每一件事情.本文分为三大部分: 专门针对Kali用户 Kali Linux是来自Debian的一个特殊版本,Kali Linux ...

  9. windows phone中,将crash report记录下来,写入文件,方便分析

    APP出现crash(崩溃)总是不能忍的 当我们连接调试器调试的时候,发现每当APP崩溃的时候 程序都会走到App.xaml.cs中的 // Code to execute on Unhandled ...

  10. 使用sae定时执行Python脚本

    使用sae定时执行Python脚本 使用sae定时执行Python脚本 12,May,2014 | 57 Views 毕设压力略大,必须是桂林游的锅.去之前放松了几天,回来又休闲了几天,加上桂林的一周 ...