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 相关文章推荐
BBS(php &amp; mysql)完整版(四)
Oct 09 PHP
用PHP+java实现自动新闻滚动窗口
Oct 09 PHP
剖析 PHP 中的输出缓冲
Dec 21 PHP
php array_merge下进行数组合并的代码
Jul 22 PHP
PHP 可阅读随机字符串代码
May 26 PHP
在PHP中使用curl_init函数的说明
Nov 02 PHP
php中如何防止表单的重复提交
Aug 02 PHP
调试PHP程序的多种方法介绍
Nov 06 PHP
帝国CMS留言板回复后发送EMAIL通知客户
Jul 06 PHP
PHP实现截取中文字符串不出现?号的解决方法
Dec 29 PHP
php 字符串中是否包含指定字符串的多种方法
Apr 12 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 30 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
php 验证码实例代码
2010/06/01 PHP
PHP中常用的转义函数
2014/02/28 PHP
php设置session值和cookies的学习示例
2014/03/21 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
php生成短域名函数
2015/03/23 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
php简单中奖算法(实例)
2017/08/15 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
JavaScript的strict模式与with关键字介绍
2014/02/08 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
利用JavaScript实现拖拽改变元素大小
2016/12/14 Javascript
Vue.use源码分析
2017/04/22 Javascript
node.js中cluster的使用教程
2017/06/09 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
JS闭包原理与应用经典示例
2018/12/20 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
基于python实现图片转字符画代码实例
2020/09/04 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
牧马人澳大利亚官网:Wrangler澳大利亚
2019/10/08 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
应用心理学个人的求职信
2013/12/08 职场文书
幼儿园安全责任书
2014/04/14 职场文书
人民调解员先进事迹材料
2014/05/08 职场文书
家具公司总经理岗位职责
2014/07/08 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫