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 minixml详解
Jul 19 PHP
PHP中MVC模式的模板引擎开发经验分享
Mar 23 PHP
php操作SVN版本服务器类代码
Nov 27 PHP
php中计算程序运行时间的类代码
Nov 03 PHP
如何使用php绘制在图片上的正余弦曲线
Jun 08 PHP
PHP的curl实现get,post和cookie(实例介绍)
Jun 17 PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 PHP
WampServer搭建php环境时遇到的问题汇总
Jul 23 PHP
Symfony学习十分钟入门经典教程
Feb 03 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
May 26 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
Oct 17 PHP
详解Laravel服务容器的绑定与解析
Nov 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/10/08 PHP
php登陆页的密码处理方式分享
2013/10/14 PHP
使用PHP破解防盗链图片的一个简单方法
2014/06/07 PHP
PHP中cookie和session的区别实例分析
2014/08/28 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
2019/08/13 PHP
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
浅析js封装和作用域
2013/07/09 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
JavaScript 数组中最大最小值
2016/06/05 Javascript
对象转换为原始值的实现方法
2016/06/06 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
vue-cli webpack 开发环境跨域详解
2017/05/18 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
JS 中使用Promise 实现红绿灯实例代码(demo)
2017/10/20 Javascript
通过实例解析js简易模块加载器
2019/06/17 Javascript
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
伦敦平价潮流珠宝首饰品牌:Astrid & Miyu
2016/10/10 全球购物
微型企业创业投资计划书
2014/01/10 职场文书
秋季运动会加油稿200字
2014/01/11 职场文书
市三好学生主要事迹
2014/01/28 职场文书
销售业务员岗位职责
2014/01/29 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
六一儿童节活动总结
2014/08/27 职场文书
会计主管岗位职责
2015/04/02 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书