PHP JpGraph生成各类统计图实例程序学习

PHP JpGraph生成各类统计图实例程序学习:

其实在JpGraph库中的Examples文件夹中有很多的小例子程序,但它比较散碎,估计很多人都不愿意看或懒得看,今天我就调用我上次
写的封装好的JpGraph类来写一个实例程序来说明一下其使用,例子比较简单,在这一个代码中,通过简单的几行代码就可以实现各种图表
的绘制。如果不清楚JpGraph库和我写的JpGraph封装类的话,可以看一下我的红心草博客前面的两篇文章:
JpGraph下载及使用
利用PHP封装的JpGraph类

下面我就样例代码进行相关说明分析:

首先是引用库文件:

require(dirname(__FILE__) . '/includes/cls_jpgraph.php');    //为我写的封装类

/*JpGraph相关库文件,其实它们可以直接在我写的cls_jpgraph.php中调用,这里主要是为了查看直观方便*/
require(dirname(__FILE__) . '/jpgraph/jpgraph.php');
require(dirname(__FILE__) . '/jpgraph/jpgraph_line.php');
require(dirname(__FILE__) . '/jpgraph/jpgraph_bar.php');
require(dirname(__FILE__) . '/jpgraph/jpgraph_pie.php');
require(dirname(__FILE__) . '/jpgraph/jpgraph_pie3d.php');
require(dirname(__FILE__) . '/jpgraph/jpgraph_antispam.php');

引用库函数文件以后,就是设置基本数据及配置,注意,下面的数据在数组在实际应用中应该是从数据中获取,

/*数据数组,实际应用中数据从数据库中获得*/
$ydata = array(113,333,824,152,552,123,323,133,543,724);
$ydata1 = array(313,232,424,552,352,423,223,433,243,424);
$bdata = array(34,22,20);

/*图形宽高设置*/
$width = 350;
$height= 250;

接下来就是创建cls_jpgraph对象,注意在这里是我封装的jpgraph对象。

/*创建图形对象*/
$jpg = new cls_jpgraph($width,$height);

/*图表与四周的距离位置*/
$margin = array(
'left'    => '40',
'right'    => '20',
'top'    => '20',
'bottom'=> '40'
);

一般我们需要对图形的相关属性进行设置,此时就可以调用方法set_jpgraph来进行设置。

/*设置图形显示相关属性*/
$jpg->set_jpgraph('textlin','xiaolinnet.com','Oct 03 2010','green','X title content','y title content',
true,true,$margin);

set_jpgraph方法的参数较多,在这里我从左到右进行简单说明:图形类型,标题,子标题,背景颜色,x轴
文本内容,y轴文本内容,是否显示横网格,是否显示竖网格,边距数组。

设置完成后,我们就可以来创建对应的图表对象来显示了,在这里很简单的。
创建线性图表并显示

$pot = $jpg->create_lineplot($ydata,'blue',2);    //创建线性图表
$jpg->display($pot);

图示:

创建柱状图表并在上面添加文本显示

$pot = $jpg->create_barpot($ydata,'red',0.4);        //创建柱状图表1
txt = $jpg->create_text('Hello,World');        //创建文本,可以不用返回

$jpg->display($pot);

图示:

创建柱状对比图表并显示

$pot1 = $jpg->create_barpot($ydata,'red',0.4);        //创建柱状图表1
$pot2 = $jpg->create_barpot($ydata1,'orange',0.4);        //创建柱状图表2
$potarr = array($pot1,$pot2);
$potgroup = $jpg->create_bargroup($potarr);        //创建柱状图组表

$jpg->display($potgroup);

图示:

以上图表应该是平时最常用到的,下面在介绍一个更常用的,就是图片验证码,图片验证码的
用途很广,包括用户注册,系统登录,发表文章,留言等很多地方都能用到,在这里只需要简
单的一句代码就可以输出一个图片验证码。

$jpg->get_auth_code(4);                            //显示验证码,可用于登陆,注册或留言。
图示:

实际对于get_auth_code()可以在cls_jpgraph.php中写成静态函数,然后直接调用该方法即可,因
为它并不依赖于$jpg对象,,只需稍作改动即可,你也可以把它直接拿出来作为函数进行使用。

注意:其实还有其他一些图表样式等我可能完全覆盖。不过它实际并不难,你只要用心专注去学习,很
容易的。如果你有兴趣,可以拿我的cls_jpgraph.php文件和上面这个例子进行修改和学习,我想你会
很快能够掌握JpGraph库的使用的。

下面是完整的实例代码文件(所有实例代码全部写在一个文件中了):

<?php
/**
* 编写的测试生成图表图形程序
*
**/
define('IN_ECS', true);

require(dirname(__FILE__) . '/includes/cls_jpgraph.php');
require(dirname(__FILE__) . '/jpgraph/jpgraph.php');
require(dirname(__FILE__) . '/jpgraph/jpgraph_line.php');
require(dirname(__FILE__) . '/jpgraph/jpgraph_bar.php');
require(dirname(__FILE__) . '/jpgraph/jpgraph_pie.php');
require(dirname(__FILE__) . '/jpgraph/jpgraph_pie3d.php');
require(dirname(__FILE__) . '/jpgraph/jpgraph_antispam.php');

/*数据数组*/
$ydata = array(113,333,824,152,552,123,323,133,543,724);
$ydata1 = array(313,232,424,552,352,423,223,433,243,424);
$bdata = array(34,22,20);

/*图形宽高设置*/
$width = 500;
$height= 350;

/*创建图形对象*/
$jpg = new cls_jpgraph($width,$height);

/*图表与四周的距离位置*/
$margin = array(
'left'    => '40',
'right'    => '20',
'top'    => '20',
'bottom'=> '40'
);

/*设置图形显示相关属性*/
$jpg->set_jpgraph('textlin','xiaolinnet.com','Oct 03 2010','green','X title content','y title content',true,true,$margin);

//$pot = $jpg->create_lineplot($ydata,'blue',2);    //创建线性图表
$pot1 = $jpg->create_barpot($ydata,'red',0.4);        //创建柱状图表1
$pot2 = $jpg->create_barpot($ydata1,'orange',0.4);        //创建柱状图表2
$potarr = array($pot1,$pot2);
$potgroup = $jpg->create_bargroup($potarr);        //创建柱状图组表
//$txt = $jpg->create_text('Hello,World');        //创建文本

//$jpg->get_auth_code(4);                            //显示验证码,可用于登陆,注册或留言。

$jpg->display($potgroup);            //在web页面上显示

?>

文章来源:红心草博客
原文地址:http://www.hongxincao.com/archives/335.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值