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 相关文章推荐
html中select语句读取mysql表中内容
Oct 09 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
PHP获取当前页面完整URL的实现代码
Jun 10 PHP
php下拉选项的批量操作的实现代码
Oct 14 PHP
修改apache配置文件去除thinkphp url中的index.php
Jan 17 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
May 10 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
Sep 06 PHP
检测codeigniter脚本消耗内存情况的方法
Mar 21 PHP
Docker 如何布置PHP开发环境
Jun 21 PHP
PHP守护进程化在C和PHP环境下的实现
Nov 21 PHP
PHP的PDO预定义常量讲解
Jan 24 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 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 图片加水印与上传图片加水印php类
2010/05/12 PHP
php算开始时间到过期时间的相隔的天数
2011/01/12 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
我的NodeJs学习小结(一)
2014/07/06 NodeJs
自己动手制作基于jQuery的Web页面加载进度条插件
2016/06/03 Javascript
javascript鼠标滑过显示二级菜单特效
2020/11/18 Javascript
详解jQuery插件开发方式
2016/11/22 Javascript
vue路由--网站导航功能详解
2019/03/29 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
JS实现小星星特效
2019/12/24 Javascript
[01:38]完美世界DOTA2联赛(PWL)宣传片:第一站
2020/10/26 DOTA
Python实现类似jQuery使用中的链式调用的示例
2016/06/16 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
如何使用Python 打印各种三角形
2019/06/28 Python
PyTorch中的Variable变量详解
2020/01/07 Python
python如何支持并发方法详解
2020/07/25 Python
Python中常用的os操作汇总
2020/11/05 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
联想台湾官网:Lenovo TW
2018/05/09 全球购物
现代绅士日常奢侈品:Todd Snyder
2019/12/13 全球购物
什么是SCM(软件配置管理)
2014/08/16 面试题
机电一体化专业应届生求职信
2013/11/27 职场文书
股东合作协议书范本
2014/04/14 职场文书
房屋出售授权委托书
2014/10/12 职场文书
入股合作协议书
2014/10/12 职场文书
解除同居协议书
2015/01/29 职场文书
综合测评个人总结
2015/03/03 职场文书
2015年银行个人工作总结
2015/05/14 职场文书
芙蓉镇观后感
2015/06/10 职场文书
怎样写好工作计划
2019/04/10 职场文书
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js