php图形jpgraph操作实例分析


Posted in PHP onFebruary 22, 2017

本文实例讲述了php图形jpgraph操作。分享给大家供大家参考,具体如下:

<?php
include ("src/jpgraph.php");
include("src/jpgraph_bar.php");
include ("src/jpgraph_line.php");
//设置显示的数据数组;
//调用类库
//设置图像的大小
$graph = new Graph(400,200,"auto");
$graph->SetScale("textlin");
//设置图形的边距
$graph->img->SetMargin(40,180,40,40);
//设置图形的背景图片,填充方式有:BGIMG_FILLPLOT, BGIMG_FILLFRAME, BGIMG_COPY
$graph->SetBackgroundImage("abc.jpg",BGIMG_FILLPLOT);
$graph->img->SetAngle(45); //设置图形在图像中的角度
//设置背景图片的对比度,must be between -1 <= x <= 1, (0,0)=original image
$graph->AdjBackgroundImage(0,0);
//设置投影;
//$graph->SetShadow();
//设置标题
$graph->title->Set("test image");
//设置标题字体样式
$graph->title->SetFont(FF_FONT1,FS_BOLD);
//设置标题的边距
$graph->title->SetMargin(3);
//设置图列的位置
$graph->legend->Pos(0.05,0.5,"right","center");
//设置图列的投影,颜色
$graph->legend->SetShadow('darkgray@0.1');
$graph->legend->SetFillColor('lightblue@0.3');
//设置x轴的标记
$graph->xaxis->SetTickLabels($label_x);
//设置X轴的显示值的角度;
$graph->xaxis->SetLabelAngle(30);
//设置x轴标题和字体颜色
$graph->xaxis->title->Set('Year 2006');
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetColor('white');
//设置x轴的字体和颜色
$graph->xaxis->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->SetColor('yellow');
//设置y轴的字体和颜色
$graph->yaxis->SetFont(FF_FONT1,FS_BOLD);
$graph->yaxis->SetColor('yellow');
//设置是否显示格子。默认为显示;
//$graph->ygrid->Show(false);
//设置格子的颜色和粗细。值越小,格子越粗。
$graph->ygrid->SetColor('yellow@0.5');
//设置y轴更优美一些
$graph->yaxis->scale->SetGrace(20);
//设置图列的数据
$bplot1 = new BarPlot($datay1);
$bplot2 = new BarPlot($datay2);
//设置图列的填充颜色
$bplot1->SetFillColor('orange@0.4');
$bplot2->SetFillColor('brown@0.4');
//设置值的格式
$bplot1->value->SetFormat('%d');
//设置图列标签
$bplot1->SetLegend('Label 1');
$bplot2->SetLegend('Label 2');
//设置图列在图中的阴影
$bplot1->SetShadow('black@0.4');
$bplot2->SetShadow('black@0.4');
//生成图列
$gbarplot = new GroupBarPlot(array($bplot1,$bplot2));
$gbarplot->SetWidth(0.9);
$graph->Add($gbarplot);
//生成图形
$graph->Stroke();
//上面所说的时在生成柱形图,当生成线性图时用下面的方法
$p1 = new LinePlot($datay);
$p1->mark->SetType(MARK_FILLEDCIRCLE);
$p1->mark->SetFillColor("red");
$p1->mark->SetWidth(4);
$p1->SetColor("blue");
$p1->SetCenter();
$p1->SetLegend("Triumph Tiger -98");
$graph->Add($p1);
$p2 = new LinePlot($data2y);
$p2->mark->SetType(MARK_STAR);
$p2->mark->SetFillColor("red");
$p2->mark->SetWidth(4);
$p2->SetColor("red");
$p2->SetCenter();
$p2->SetLegend("New tiger -99");
$graph->Add($p2);
// Style can also be specified as SetStyle([1|2|3|4]) or
// SetStyle("solid"|"dotted"|"dashed"|"lobgdashed")
$lineplot->SetStyle("dashed");//设置线的样式
$graph->yaxis->scale->SetGrace(20); //设置y轴更优美一些
?>

2.柱形图和饼状图举例

if($tag == 1)
{
$graph = new Graph(600,400,"auto");
$graph->SetScale("textlin");
$graph->setMarginColor('lightblue');
$graph->SetShadow();
$graph->setMargin(30,100,30,60);
//设置标题;
$graph->title->set("文章分类汇总");
$graph->title->SetMargin(3);
$graph->title->setfont(FF_SIMSUN,FS_BOLD);
$graph->title->setcolor('black@0.5');
$graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD);
$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD);
$graph->xaxis->SetFont(FF_SIMSUN,FS_NORMAL);
$graph->xaxis->SetColor('darkblue','black');
$graph->xaxis->SetTickLabels($name);
$graph->xaxis->SetLabelAngle(30);
$bplot = new BarPlot($article_num);
$bplot->SetFillColor("orange");
$bplot->value->SetFormat('%d');
$bplot->SetShadow('darkgray');
$bplot->value->show();
$graph->legend->SetFont(FF_SIMSUN,FS_BOLD);
$bplot->SetLegend("文章数");
$graph->Add($bplot);
$graph->Stroke();
}
else
{
$graph1 = new PieGraph(600,400,"auto");
$graph1->SetScale("textlin");
$graph1->SetShadow();
$graph1->title->setFont(FF_SIMSUN,FS_BOLD);
$graph1->title->set("用户文章饼形图");
$graph1->setMargin(30,100,30,60);
$p1 = new pieplot3d($article_num);
$p1->setAngle(80);
$p1->setsize(0.5);
$p1->setShadow();
$p1->ExplodeSlice(2);
$p1->SetCenter(0.4);
$graph1->legend->SetFont(FF_SIMSUN,FS_NORMAL);
$graph1->legend->setshadow();
$p1->SetLegends($name);
$graph1->Add($p1);
$graph1->Stroke();
}
//生成本地图片
$graph->Stroke("路径/文件名.png");

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用php实现批量查询清除一句话后门的代码
Jan 20 PHP
phpMyadmin 用户权限中英对照
Apr 02 PHP
解析:使用php mongodb扩展时 需要注意的事项
Jun 18 PHP
Codeigniter购物车类不能添加中文的解决方法
Nov 29 PHP
php构造函数的继承方法
Feb 09 PHP
PHP并发多进程处理利器Gearman使用介绍
May 16 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
Oct 12 PHP
phpstudy的php版本自由修改的方法
Oct 18 PHP
PHP-FPM 的管理和配置详解
Feb 17 PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
Feb 25 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 PHP
PHP实现创建以太坊钱包转账等功能
Apr 21 PHP
关于php几种字符串连接的效率比较(详解)
Feb 22 #PHP
php可变长参数处理函数详解
Feb 22 #PHP
php操作access数据库的方法详解
Feb 22 #PHP
Smarty3配置及入门语法
Feb 22 #PHP
PHP中ajax无刷新上传图片与图片下载功能
Feb 21 #PHP
PHP+JavaScript实现无刷新上传图片
Feb 21 #PHP
PHP编辑器PhpStrom运行缓慢问题
Feb 21 #PHP
You might like
判断PHP数组是否为空的代码
2011/09/08 PHP
PHP警告Cannot use a scalar value as an array的解决方法
2012/01/11 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
2013/06/24 PHP
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
Vue登录注册并保持登录状态的方法
2018/08/17 Javascript
webpack4.0 入门实践教程
2018/10/08 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
python实现验证码识别功能
2018/06/07 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
python算法与数据结构之单链表的实现代码
2019/06/27 Python
python 并发下载器实现方法示例
2019/11/22 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
Keras自定义IOU方式
2020/06/10 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
css3实现背景动态渐变效果
2019/12/10 HTML / CSS
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
出纳的岗位职责
2013/11/09 职场文书
2015年教师节慰问信
2015/03/23 职场文书
自我推荐信怎么写
2015/03/24 职场文书
可怜妈妈观后感
2015/06/09 职场文书
小学三年级作文之写景
2019/11/05 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang
PyTorch 如何设置随机数种子使结果可复现
2021/05/12 Python
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python