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 引用(&)详解
Nov 20 PHP
PHP5函数小全(分享)
Jun 06 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
PhpDocumentor 2安装以及生成API文档的方法
May 21 PHP
ThinkPHP的I方法使用详解
Jun 18 PHP
跟我学Laravel之快速入门
Oct 15 PHP
PHP 实现判断用户是否手机访问
Jan 21 PHP
Apache连接PHP后无法启动问题解决思路
Jun 18 PHP
Yii清理缓存的方法
Jan 06 PHP
PHP生成图片验证码功能示例
Jan 12 PHP
解决出现SoapFault (looks like we got no XML document)的问题
Jun 24 PHP
PHP实现的敏感词过滤方法示例
Mar 06 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
超神学院:天使彦公认最美的三个视角,网友:我的天使快下凡吧!
2020/03/02 国漫
php下使用SMTP发邮件的代码
2008/01/10 PHP
php将12小时制转换成24小时制的方法
2015/03/31 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
PDO::rollBack讲解
2019/01/29 PHP
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
js和as的稳定传值问题解决
2013/07/14 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
Python 爬虫模拟登陆知乎
2016/09/23 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
matplotlib设置legend图例代码示例
2017/12/19 Python
django框架之cookie/session的使用示例(小结)
2018/10/15 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
时尚的CSS3进度条效果
2012/02/22 HTML / CSS
企业文化理念标语
2014/06/10 职场文书
授权委托书格式
2014/07/31 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang
Mysql忘记密码解决方法
2022/02/12 MySQL