文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>PHP JpGraph生成各类统计图实例程序学习

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

时间:2010-10-06  来源:netlawe

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

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载