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 相关文章推荐
深入了解php4(1)--回到未来
Oct 09 PHP
PHP中文URL编解码(urlencode()rawurlencode()
Jul 03 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
Aug 01 PHP
PHP学习笔记之三 数据库基本操作
Jan 17 PHP
php的sso单点登录实现方法
Jan 08 PHP
php实现parent调用父类的构造方法与被覆写的方法
Feb 11 PHP
php替换字符串中间字符为省略号的方法
May 04 PHP
php观察者模式应用场景实例详解
Feb 03 PHP
PHP 使用二进制保存用户状态的实例
Jan 29 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 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
资料注册后发信小技巧
2006/10/09 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
2006/12/02 PHP
PHP的autoload机制的实现解析
2012/09/15 PHP
php计算两个文件相对路径的方法
2015/03/14 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
jquery批量控制form禁用的代码
2013/08/06 Javascript
javascript生成随机大小写字母的方法
2014/02/20 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
JavaScript读二进制文件并用ajax传输二进制流的方法
2016/07/18 Javascript
JS判断iframe是否加载完成的方法
2016/08/03 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
angularJS之$http:与服务器交互示例
2017/03/17 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
React+EggJs实现断点续传的示例代码
2020/07/07 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
python tkinter实现屏保程序
2019/07/30 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
光荣入党自我鉴定
2014/01/22 职场文书
酒后驾车标语
2014/06/30 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
先进个人总结范文
2015/02/15 职场文书
地震捐款简报
2015/07/21 职场文书
2016年父亲节寄语
2015/12/04 职场文书
《颐和园》教学反思
2016/02/19 职场文书
nginx.conf配置文件结构小结
2022/04/08 Servers
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技