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 a simple smtp class
Nov 26 PHP
php 将excel导入mysql
Nov 09 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
如何使用php绘制在图片上的正余弦曲线
Jun 08 PHP
Youku 视频绝对地址获取的方法详解
Jun 26 PHP
PHP四舍五入、取整、round函数使用示例
Feb 06 PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 PHP
FastCGI 进程意外退出造成500错误
Jul 26 PHP
Zend Framework自定义Helper类相关注意事项总结
Mar 14 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
Laravel 的数据库迁移的方法
Jul 31 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
Dec 14 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 smarty模版引擎中的缓存应用
2009/12/11 PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
2010/10/12 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
2018/10/12 PHP
js hover 定时器(实例代码)
2013/11/12 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
JavaScript获得url查询参数的方法
2015/07/02 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
深入理解React高阶组件
2017/09/28 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
在vue中使用jsonp进行跨域请求接口操作
2020/10/29 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
[05:59]带你看看DPC的台前幕后
2021/03/11 DOTA
Python自动重试HTTP连接装饰器
2015/04/28 Python
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
pandas修改DataFrame列名的方法
2018/04/08 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
Python3.5文件读与写操作经典实例详解
2019/05/01 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
Python __slots__的使用方法
2020/11/15 Python
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
专营店会计助理岗位职责
2013/11/29 职场文书
中国梦的演讲稿
2014/01/08 职场文书
单位消防安全责任书
2014/07/23 职场文书
公司催款律师函
2015/05/27 职场文书
Node实现搜索框进行模糊查询
2021/06/28 Javascript
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android