tp可用的超强第三方图表类库-JpGraph

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

转载于:https://www.cnblogs.com/qiandu/p/3934258.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jpgraph是一款强大的PHP图形库,用于生成各种图表。下面是一个实例代码,演示如何使用jpgraph生成多条拆线图: ```php <?php // 引入jpgraph库文件 require_once ('jpgraph/jpgraph.php'); require_once ('jpgraph/jpgraph_line.php'); // 创建一个新的图形实例 $graph = new Graph(600, 400); // 设置图形的标题和字体 $graph->title->Set("多条拆线图"); $graph->title->SetFont(FF_SIMSUN, FS_BOLD, 14); // 从数据库中获取数据 $data1 = array(5, 12, 15, 8, 20); $data2 = array(10, 15, 7, 14, 18); $data3 = array(2, 13, 9, 7, 16); // 创建一个拆线图实例 $lineplot1 = new LinePlot($data1); $lineplot2 = new LinePlot($data2); $lineplot3 = new LinePlot($data3); // 设置拆线图的颜色和样式 $lineplot1->SetColor('blue'); $lineplot2->SetColor('red'); $lineplot3->SetColor('green'); $lineplot1->SetWeight(2); $lineplot2->SetWeight(2); $lineplot3->SetWeight(2); // 将拆线图添加到图形中 $graph->Add($lineplot1); $graph->Add($lineplot2); $graph->Add($lineplot3); // 设置图形的X轴和Y轴标签 $graph->xaxis->title->Set("X轴"); $graph->yaxis->title->Set("Y轴"); // 设置图形的背景颜色和边框 $graph->SetMargin(40, 40, 40, 40); $graph->SetShadow(); $graph->SetScale('textlin'); // 生成图形并输出到浏览器 $graph->Stroke(); ?> ``` 以上代码使用jpgraph库创建了一个600x400像素的图形实例,标题为"多条拆线图"。然后从数据库中获取了三组数据data1、data2和data3。创建了相应的拆线图实例,并设置了颜色和样式。最后将拆线图添加到图形中,设置了X轴和Y轴的标签。通过调用`$graph->Stroke()`方法生成图形并输出到浏览器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值