PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图


Posted in PHP onMay 15, 2017

JpGraph简介

JpGraph是开源的PHP统计图表生成库,基于PHP的GD2图形库构建,把生成统计图的相关操作封装,隐藏了部分复杂的操作,使在PHP页面上输出统计图表变得更加容易。JpGraph的官方网站为:http://jpgraph.net,开发者可以在上面免费下载最新版的JpGraph和阅读相关帮助文档或示例程序。

PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图

JpGraph的配置

(1)修改文件php.ini

在include_path中添加jpgraph的目录路径,并将jpgraph解压后的src目录名称更改为jpgraph。

PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图

PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图

(2)检查PHP是否支持GD库

在php.ini文件中找到语句;extension=php_gd2.dll。把上述语句前的;号去掉,即去掉注释。如果因为PHP版本不同而找不到此语句,则可直接添加extension=php_gd2.dll

(3)修改文件jpgraph_gb2312.php

找到函数:function gb2utf8($gb)

把函数修改为:

function gb2utf8($gb) {
  return $gb;
  }

即不使用gb2编码方式转utf8方式的那段代码。

PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图

折线图

<?php 
require_once ("jpgraph/jpgraph.php"); 
require_once ("jpgraph/jpgraph_line.php"); 

$data1 = array(523,634,371,278,685,587,490,256,398,545,367,577); //第一条曲线的数组 

$graph = new Graph(500,300);  
$graph->SetScale("textlin"); 
$graph->SetShadow();   
$graph->img->SetMargin(60,30,30,70); //设置图像边距 

$graph->graph_theme = null; //设置主题为null,否则value->Show(); 无效 

$lineplot1=new LinePlot($data1); //创建设置两条曲线对象 
$lineplot1->value->SetColor("red"); 
$lineplot1->value->Show(); 
$graph->Add($lineplot1); //将曲线放置到图像上 

$graph->title->Set("CDN流量图");  //设置图像标题 
$graph->xaxis->title->Set("月份"); //设置坐标轴名称 
$graph->yaxis->title->Set("流 量(Gbits)"); 
$graph->title->SetMargin(10); 
$graph->xaxis->title->SetMargin(10); 
$graph->yaxis->title->SetMargin(10); 

$graph->title->SetFont(FF_SIMSUN,FS_BOLD); //设置字体 
$graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD); 
$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD);  
$graph->xaxis->SetTickLabels($gDateLocale->GetShortMonth()); 
$graph->Stroke(); //输出图像 
?>

PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图

柱状图

<?php 
require_once ("jpgraph/jpgraph.php"); 
require_once ("jpgraph/jpgraph_bar.php"); 

$data = array(19,23,34,38,45,67,71,78,85,87,96,145);      
$ydata = array("一","二","三","四","五","六","七","八","九","十","十一","十二"); 

$graph = new Graph(500,300); //创建新的Graph对象 
$graph->SetScale("textlin"); //刻度样式 
$graph->SetShadow();     //设置阴影 
$graph->img->SetMargin(40,30,40,50); //设置边距 

$graph->graph_theme = null; //设置主题为null,否则value->Show(); 无效 

$barplot = new BarPlot($data); //创建BarPlot对象 
$barplot->SetFillColor('blue'); //设置颜色 
$barplot->value->Show(); //设置显示数字 
$graph->Add($barplot); //将柱形图添加到图像中 

$graph->title->Set("CDN流量图");  
$graph->xaxis->title->Set("月份"); //设置标题和X-Y轴标题 
$graph->yaxis->title->Set("流 量(Mbits)");                                    
$graph->title->SetColor("red"); 
$graph->title->SetMargin(10); 
$graph->xaxis->title->SetMargin(5); 
$graph->xaxis->SetTickLabels($ydata); 

$graph->title->SetFont(FF_SIMSUN,FS_BOLD); //设置字体 
$graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD); 
$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD); 
$graph->xaxis->SetFont(FF_SIMSUN,FS_BOLD); 
$graph->Stroke(); 
?>

PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图

饼状图

<?php 
require_once ("jpgraph/jpgraph.php"); 
require_once ("jpgraph/jpgraph_pie.php"); 
require_once ("jpgraph/jpgraph_pie3d.php"); 

$data = array(19,23,34,38,45,67,71,78,85,87,90,96); 

$graph = new PieGraph(550,500); 
$graph->SetShadow(); 

$graph->title->Set("CDN流量比例"); 
$graph->title->SetFont(FF_SIMSUN,FS_BOLD); 

$pieplot = new PiePlot3D($data); //创建PiePlot3D对象 
$pieplot->SetCenter(0.4, 0.5); //设置饼图中心的位置 
$pieplot->SetLegends($gDateLocale->GetShortMonth()); //设置图例 
$graph->Add($pieplot); 
$graph->Stroke(); 
?>

PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

PHP 相关文章推荐
一个简单的PHP入门源程序
Oct 09 PHP
php中看实例学正则表达式
Dec 25 PHP
PHP 数据库树的遍历方法
Feb 06 PHP
PHP抓取、分析国内视频网站的视频信息工具类
Apr 02 PHP
PHP大批量插入数据库的3种方法和速度对比
Jul 08 PHP
启用Csrf后POST数据时出现的400错误
Jul 05 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
Jan 05 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
php多进程模拟并发事务产生的问题小结
Dec 07 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
Mar 22 PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 PHP
php使用curl实现简单模拟提交表单功能
May 15 #PHP
PHP读取Excel类文件
May 15 #PHP
详谈php中 strtr 和 str_replace 的效率问题
May 14 #PHP
PHP从数组中删除元素的四种方法实例
May 12 #PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
May 12 #PHP
php中时间函数date及常用的时间计算
May 12 #PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
May 11 #PHP
You might like
php 归并排序 数组交集
2011/05/10 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
Firefox中autocomplete=&quot;off&quot; 设置不起作用Bug的解决方法
2011/03/25 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
怎么清空javascript数组
2013/05/11 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
js计算任意值之间随机数的方法
2015/01/16 Javascript
javascript实现table表格隔行变色的方法
2015/05/13 Javascript
JQuery实现简单的图片滑动切换特效
2015/11/22 Javascript
javacript获取当前屏幕大小
2016/06/04 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
浅谈Vue 性能优化之深挖数组
2018/12/11 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
跟老齐学Python之关于循环的小伎俩
2014/10/02 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
python递归全排列实现方法
2018/08/18 Python
python 多线程将大文件分开下载后在合并的实例
2018/11/09 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
python中id函数运行方式
2020/07/03 Python
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
五分钟演讲稿
2014/04/30 职场文书
布达拉宫的导游词
2015/02/02 职场文书
世界地球日活动总结
2015/02/09 职场文书
教师考核表个人总结
2015/02/12 职场文书
2015年社会治安综合治理工作总结
2015/04/10 职场文书
交流会主持词
2015/07/02 职场文书
高温慰问简报
2015/07/21 职场文书
小学中队长竞选稿
2015/11/20 职场文书