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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
Oct 09 PHP
数据库相关问题
Oct 09 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
Nov 02 PHP
Yii使用ajax验证显示错误messagebox的解决方法
Dec 03 PHP
php采集自中央气象台范围覆盖全国的天气预报代码实例
Jan 04 PHP
PHP SESSION的增加、删除、修改、查看操作
Mar 20 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
Aug 01 PHP
利用switch语句进行多选一判断的实例代码
Nov 14 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
Sep 26 PHP
PHP微信H5支付开发实例
Jul 25 PHP
PHP PDOStatement::fetchObject讲解
Feb 01 PHP
laravel通用化的CURD的实现
Dec 13 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 分页类(模仿google)-面试题目解答
2009/09/13 PHP
基于JQuery的访问WebService的代码(可访问Java[Xfire])
2010/11/19 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
9款2014最热门jQuery实用特效推荐
2014/12/07 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
iscroll.js的上拉下拉刷新时无法回弹的解决方法
2016/02/18 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
angularjs实现搜索的关键字在正文中高亮出来
2017/06/13 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
原生js实现俄罗斯方块
2020/10/20 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
python统计一个文本中重复行数的方法
2014/11/19 Python
python3+PyQt5实现文档打印功能
2018/04/24 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
详解python 爬取12306验证码
2019/05/10 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
Python Collatz序列实现过程解析
2019/10/12 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
Python configparser模块操作代码实例
2020/06/08 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
Flask-SocketIO服务端安装及使用代码示例
2020/11/26 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
售后服务承诺书范文
2014/03/26 职场文书
初中班主任经验交流材料
2014/05/16 职场文书
合同和协议有什么区别?
2014/10/08 职场文书
会议欢迎词范文
2015/01/27 职场文书
新闻通讯稿模板
2015/07/22 职场文书
电力企业职工培训心得体会
2016/01/11 职场文书
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript
Docker部署Mysql8的实现步骤
2022/07/07 Servers