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 连接mssql数据库 初学php笔记
Mar 01 PHP
PHP游戏编程25个脚本代码
Feb 08 PHP
浅析PHP程序设计中的MVC编程思想
Jul 28 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 PHP
php curl 获取https请求的2种方法
Apr 27 PHP
PHP自定义函数格式化json数据示例
Sep 14 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
Sep 23 PHP
php+jQuery递归调用POST循环请求示例
Oct 14 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
PHP排序二叉树基本功能实现方法示例
May 26 PHP
Thinkphp5.0 框架Model模型简单用法分析
Oct 11 PHP
详解phpstorm2020最新破解方法
Sep 17 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
Win9x/ME下Apache+PHP安装配置
2006/10/09 PHP
PHP封装的HttpClient类用法实例
2015/06/17 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
总结对比php中的多种序列化
2016/08/28 PHP
php注册审核重点解析(数据访问)
2017/05/23 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
2019/03/01 PHP
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
axios发送post请求,提交图片类型表单数据方法
2018/03/16 Javascript
jquery 验证用户名是否重复代码实例
2019/05/14 jQuery
详解小程序中h5页面onShow实现及跨页面通信方案
2019/05/30 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python开启多个子进程并行运行的方法
2015/04/18 Python
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
解决Python3 被PHP程序调用执行返回乱码的问题
2019/02/16 Python
Pytorch提取模型特征向量保存至csv的例子
2020/01/03 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
Django实现图片上传功能步骤解析
2020/04/22 Python
Python暴力破解Mysql数据的示例
2020/11/09 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
小学新学期教师寄语
2014/01/18 职场文书
称象教学反思
2014/02/03 职场文书
日语系毕业求职信
2014/07/27 职场文书
2014年国庆节活动总结
2014/08/26 职场文书
怎样写离婚协议书
2014/09/10 职场文书
呐喊读书笔记
2015/06/30 职场文书
SpringBoot快速入门详解
2021/07/21 Java/Android