php使用Jpgraph创建折线图效果示例


Posted in PHP onFebruary 15, 2017

本文实例讲述了php使用Jpgraph创建折线图效果。分享给大家供大家参考,具体如下:

在企业运营中,经常需要对各种数据进行统计,利用图表动态分析不同的数据表中的数据,可以使数据显示的更加直观。

例:应用Jpgraph技术绘制包含两种图书销售走势的折线图。

为了能够使用Jpgraph的功能,首先在程序中导入Jpgraph类库,然后创建两个数组分别表示两种图书的年度销售情况,创建Graph类的对象,并用创建的数组作为参数创建两个LinePlot类的对象。设置统计图的标题、刻度、背景色和折线颜色等参数,并将两个LinePlot对象添加到统计图对象中。

过程如下:

(1)在程序中导入Jpgraph类库及直线绘制功能。

require_once 'jpgraph/src/jpgraph.php';
require_once 'jpgraph/src/jpgraph_line.php';

(2)创建统计数据,并保存到一维数组中。

$data1 = array(89, 78, 99, 65, 92, 85, 85, 55, 64, 79, 85, 98);//设置统计数据
$data2 = array(68, 70, 69, 80, 50, 60, 75, 65, 75, 65, 80, 89);//设置统计数据

(3)创建统计图对象,并设置坐标的刻度样式

$graph = new Graph(600, 300);//创建统计图对象
$graph->SetScale('textlin');//设置刻度样式
$graph->SetY2Scale('lin');
$graph->SetShadow();//设置背景带阴影
$graph->img->SetMargin(40, 50, 20, 70);// 设置图表灰度四周边距,顺序为左右上下
$graph->title->Set(iconv('utf-8', 'GB2312//IGNORE', '图书销售走势表'));//设置走势图的标题

(4)创建LinePlot对象,并将创建后的对象添加到统计图的对象中。

$lineplot1 = new LinePlot($data1);//建立LinePlot对象
$lineplot2 = new LinePlot($data2);//建立LinePlot对象
$graph->Add($lineplot1);
$graph->AddY2($lineplot2);

(5)设置统计图和坐标轴的标题内容和文字样式,并输出统计图

$graph->xaxis->title->Set(iconv('utf-8', 'GB2312//IGNORE', "月份"));//设置x轴的标题
$graph->yaxis->title->Set(iconv('utf-8', 'GB2312//IGNORE', "book A 销售金额(万元)"));//设置y轴的标题
$graph->y2axis->title->Set(iconv('utf-8', 'GB2312//IGNORE', "book B 销售金额(万元)"));//设置y轴的标题
$graph->y2axis->title->SetMargin(20);//设置右边的title到图的距离
$graph->title->SetFont(FF_SIMSUN, FS_BOLD);//设置字体
$graph->yaxis->title->SetFont(FF_SIMSUN, FS_BOLD);
$graph->y2axis->title->SetFont(FF_SIMSUN, FS_BOLD);
$graph->xaxis->title->SetFont(FF_SIMSUN, FS_BOLD);
$lineplot1->SetColor('red');//设置颜色
$lineplot2->SetColor('blue');
$lineplot1->SetLegend('book A');//绑定
$lineplot2->SetLegend('book B');
$graph->legend->SetLayout(LEGEND_HOR);
$graph->legend->Pos(0.4, 0.95, 'center', 'bottom');
//图例文字框的位置 0.4,0.95 是以右上角为基准的,0.4是距左右距离,0.95是上下距离。
$graph->Stroke();//输出

运行结果如下:

php使用Jpgraph创建折线图效果示例

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php中看实例学正则表达式
Dec 25 PHP
php Smarty 字符比较代码
Feb 27 PHP
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
Jul 03 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
Jun 05 PHP
php微信公众开发之获取周边酒店信息的方法
Dec 22 PHP
php生成数字字母的验证码图片
Jul 14 PHP
PHP数组去重比较快的实现方式
Jan 19 PHP
浅析PHP中的i++与++i的区别及效率
Jun 15 PHP
利用PHP自动生成印有用户信息的名片
Aug 01 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
Oct 10 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
PHP操作路由器实现方法示例
Apr 27 PHP
php使用Jpgraph创建3D饼形图效果示例
Feb 15 #PHP
PHP反射机制原理与用法详解
Feb 15 #PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
Feb 15 #PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
Feb 15 #PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 #PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
Feb 15 #PHP
详解配置 Apache 服务器支持 PHP 文件的解析
Feb 15 #PHP
You might like
php实现购物车功能(下)
2016/01/05 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
PHP小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
PHP命名空间用法实例分析
2019/09/04 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
理解JavaScript中的事件
2006/09/23 Javascript
基于jquery的高性能td和input切换并可修改内容实现代码
2011/01/09 Javascript
模仿百度三维地图的js数据分享
2011/05/12 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
2016/11/03 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
使用webpack-dev-server处理跨域请求的方法
2018/04/18 Javascript
JavaScript中的"=、==、==="区别讲解
2019/01/22 Javascript
vue组件 keep-alive 和 transition 使用详解
2019/10/11 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
Element Badge标记的使用方法
2020/07/27 Javascript
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
2018/11/30 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
2019/08/19 Python
了解一下python内建模块collections
2020/09/07 Python
芬兰汽车配件商店:Autonvaraosat24
2017/01/30 全球购物
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
人事部经理岗位职责
2014/03/07 职场文书
简单的项目建议书模板
2014/03/12 职场文书
歌唱比赛主持词
2014/03/18 职场文书
见习期自我鉴定范文
2014/03/19 职场文书
美容院店长岗位职责
2014/04/08 职场文书
实习单位鉴定意见
2015/06/04 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python