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.0对象模型深度探索之类的静态成员
Mar 27 PHP
php 删除无限级目录与文件代码共享
Nov 22 PHP
php下几个常用的去空、分组、调试数组函数
Feb 22 PHP
PHP SPL标准库之数据结构堆(SplHeap)简单使用实例
May 12 PHP
PHP生成json和xml类型接口数据格式
May 17 PHP
详解PHP中的状态模式编程
Aug 11 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
Jun 05 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
Apr 03 PHP
Laravel框架路由管理简单示例
May 07 PHP
Laravel如何实现自动加载类
Oct 14 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
Laravel框架源码解析之反射的使用详解
May 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
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
php读取文件内容的几种方法详解
2013/06/26 PHP
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
JavaScript 变量命名规则
2009/09/23 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
JS比较两个时间大小的简单示例代码
2013/12/20 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
layui 给数据表格加序号的方法
2018/08/20 Javascript
vue安装和使用scss及sass与scss的区别详解
2018/10/15 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
利用Python脚本实现ping百度和google的方法
2017/01/24 Python
利用Celery实现Django博客PV统计功能详解
2017/05/08 Python
pandas读取csv文件,分隔符参数sep的实例
2018/12/12 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
python爬虫用request库处理cookie的实例讲解
2021/02/20 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
2013/08/04 面试题
经典演讲稿范文
2013/12/30 职场文书
安全检查验收制度
2014/01/12 职场文书
中药学专业求职信
2014/05/31 职场文书
中学生关于梦想的演讲稿
2014/08/22 职场文书
滞留工资返还协议书
2014/10/19 职场文书
保密工作整改情况汇报
2014/11/06 职场文书
优秀团队申报材料
2014/12/26 职场文书
《小乌鸦爱妈妈》教学反思
2016/02/19 职场文书
python实战之用emoji表情生成文字
2021/05/08 Python
Django使用redis配置缓存的方法
2021/06/01 Redis