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 相关文章推荐
PHP4在WinXP下IIS和Apache2服务器上的安装实例
Oct 09 PHP
php 无限级数据JSON格式及JS解析
Jul 17 PHP
codeigniter数据库操作函数汇总
Jun 12 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
Nov 12 PHP
javascript+php实现根据用户时区显示当地时间的方法
Mar 11 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 PHP
postfixadmin忘记密码后的修改密码方法详解
Jul 20 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
PHP实现的各类hash算法长度及性能测试实例
Aug 27 PHP
详细解读php的命名空间(一)
Feb 21 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 PHP
一文看懂PHP进程管理器php-fpm
Jun 01 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
JAVA/JSP学习系列之六
2006/10/09 PHP
深入理解curl类,可用于模拟get,post和curl下载
2013/06/08 PHP
JS定时器实例
2013/04/17 Javascript
JS获得URL超链接的参数值实例代码
2013/06/21 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
ExtJS实现文件下载的方法实例
2013/11/09 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
一次记住JavaScript的6个正则表达式方法
2018/02/22 Javascript
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
React父子组件间的传值的方法
2018/11/13 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
Python使用paramiko操作linux的方法讲解
2019/02/25 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
python实现机器人卡牌
2019/10/06 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
2020/02/17 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
2020/03/04 Python
利用python生成照片墙的示例代码
2020/04/09 Python
Python如何给你的程序做性能测试
2020/07/29 Python
美体小铺美国官网:The Body Shop美国
2017/11/10 全球购物
戴森英国官网:Dyson英国
2019/05/07 全球购物
关于旷工的检讨书
2014/02/02 职场文书
投标诚信承诺书
2014/05/26 职场文书
商场促销活动总结
2014/07/10 职场文书
党员个人公开承诺书
2014/08/29 职场文书
统计学教授推荐信
2014/09/18 职场文书
2015年采购工作总结
2015/04/10 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
小学语文教师研修日志
2015/11/13 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
2021/05/25 MySQL