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守护进程 加linux命令nohup实现任务每秒执行一次
Jul 04 PHP
深入PHP magic quotes的详解
Jun 17 PHP
php unset全局变量运用问题的深入解析
Jun 17 PHP
php使用curl和正则表达式抓取网页数据示例
Apr 13 PHP
windows7下安装php的php-ssh2扩展教程
Jul 04 PHP
ThinkPHP框架设计及扩展详解
Nov 25 PHP
php实现转换ubb代码的方法
Jun 18 PHP
分享50个提高PHP执行效率的技巧
Dec 26 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
Sep 11 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
Oct 15 PHP
PDO实现学生管理系统
Mar 21 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
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
中篇:安装及配置PHP
2006/12/13 PHP
php 动态执行带有参数的类方法
2009/04/10 PHP
php并发加锁示例
2016/10/17 PHP
php 开发中加密的几种方法总结
2017/03/22 PHP
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
ExtJS4中的requires使用方法示例介绍
2013/12/03 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
使用gulp搭建本地服务器并实现模拟ajax
2017/04/05 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
Vue模板语法中数据绑定的实例代码
2019/05/17 Javascript
Python实现堆排序的方法详解
2016/05/03 Python
详解django三种文件下载方式
2018/04/06 Python
python实现五子棋游戏
2019/06/18 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
PyQt5实现简单的计算器
2020/05/30 Python
python seaborn heatmap可视化相关性矩阵实例
2020/06/03 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
2020/09/21 Python
python 基于opencv 实现一个鼠标绘图小程序
2020/12/11 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
什么是事务?事务有哪些性质?
2012/03/11 面试题
什么叫做SQL注入,如何防止
2016/10/04 面试题
小学教师的个人自我鉴定
2013/10/26 职场文书
高中语文教学反思
2014/01/16 职场文书
趣味活动策划方案
2014/02/08 职场文书
2014新年元旦活动策划方案
2014/02/18 职场文书
个人充满哲理的自我评价
2014/02/20 职场文书
纪律教育月活动总结
2014/08/26 职场文书
离退休人员聘用协议书
2014/11/24 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
高质量“欢迎词”
2019/04/03 职场文书
Pytorch DataLoader shuffle验证方式
2021/06/02 Python