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 相关文章推荐
一个没有MYSQL数据库支持的简易留言本的编写
Oct 09 PHP
PHP小技巧搜集,每个PHPer都来露一手
Jan 02 PHP
PHP 裁剪图片成固定大小代码方法
Sep 09 PHP
PHP SEO优化之URL优化方法
Apr 21 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
Apr 13 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
Nov 25 PHP
PHP中使用xmlreader读取xml数据示例
Dec 29 PHP
19个Android常用工具类汇总
Dec 30 PHP
php中判断数组相等的方法以及数组运算符介绍
Mar 30 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
Mar 05 PHP
PHP生成可点击刷新的验证码简单示例
May 13 PHP
php简单实现单态设计模式的方法分析
Jul 28 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 switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
2014/11/05 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
JQuery+DIV自定义滚动条样式的具体实现
2013/06/25 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
第一次接触Bootstrap框架
2016/10/24 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
详解vue-cli3多页应用改造
2019/06/04 Javascript
Vue数据绑定实例写法
2019/08/06 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
react基本安装与测试示例
2020/04/27 Javascript
JavaScript事件循环及宏任务微任务原理解析
2020/09/02 Javascript
vue-router 控制路由权限的实现
2020/09/24 Javascript
[38:54]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第一场 11.28
2020/12/01 DOTA
Python中unittest用法实例
2014/09/25 Python
apache部署python程序出现503错误的解决方法
2017/07/24 Python
python 划分数据集为训练集和测试集的方法
2018/12/11 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
深入了解Django View(视图系统)
2019/07/23 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
一套带网友答案的.NET笔试题
2016/12/06 面试题
大学社团活动策划书
2014/01/26 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
心理学专业求职信
2014/06/16 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
党员专题组织生活会发言材料
2014/10/17 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
MySQL中CURRENT_TIMESTAMP的使用方式
2021/11/27 MySQL
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android