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分页函数
Jul 08 PHP
无数据库的详细域名查询程序PHP版(2)
Oct 09 PHP
PHP date函数参数详解
Nov 27 PHP
PHP常用函数小技巧
Sep 11 PHP
php 多关键字 高亮显示实现代码
Apr 23 PHP
解析将多维数组转换为支持curl提交的一维数组格式
Jul 08 PHP
php加密解密实用类分享
Jan 07 PHP
示例详解Laravel的注册重构
Aug 14 PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
Jul 27 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
Jul 09 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
Oct 12 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
PHP4实际应用经验篇(4)
2006/10/09 PHP
让PHP支持页面回退的两种方法
2008/01/10 PHP
php zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
PHP运行模式汇总
2016/11/06 PHP
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
js实现音乐播放控制条
2017/09/09 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
原生js实现分页效果
2020/09/23 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
解决Antd 里面的select 选择框联动触发的问题
2020/10/24 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
什么是Python变量作用域
2020/06/03 Python
python能开发游戏吗
2020/06/11 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
纯CSS3实现圆圈动态发光特效动画的示例代码
2021/03/08 HTML / CSS
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
英语专业毕业生自荐信范文
2013/12/31 职场文书
音乐器材管理制度
2014/01/31 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
Java Spring读取和存储详细操作
2022/08/05 Java/Android