php扇形分布图,php生成扇形比例图的实例代码
本节内容:
PHP GD库生成扇形比例图。
实现功能:
一些图形的百分比显示图,像三个地区所占地多少或成绩等。
这里分享一段php生成的扇形比例百分比显示程序代码,需要phpGD库支持。
代码:
复制代码 代码示例:
/**
* 生成扇形比例图
* 编辑:www.jbxue.com
*/
//填充图表的参数
$ChartDiameter = 60; //图表直径
$ChartData = array(30,70);//用于生成图表的数据,可通过数据库来取得来确定也可以多个不过和颜色数组对应
//把角度转换为弧度
function radians($degrees){return($degrees*(pi()/180.0));}
//取得在圆心为(0,0)圆上 x,y点的值
function circle_point($degrees,$diameter){$x=cos(radians($degrees))*($diameter/2);$y=sin(radians($degrees))*($diameter/2);return (array($x,$y));}
//确定图形的大小
$ChartWidth = $ChartDiameter + 20;
$ChartHeight = $ChartDiameter + 20;
//确定统计的总数
$ChartTotal = “”;
for($index = 0;$index < count($ChartData);$index++){
$ChartTotal += $ChartData[$index];
}
$ChartCenterX = $ChartDiameter/2 + 10;
$ChartCenterY = $ChartDiameter/2 + 10;
//生成空白图形
$image = imagecreate($ChartWidth, $ChartHeight);
//分配颜色
$colorBody = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$colorBorder = imagecolorallocate($image, 0×00, 0×00, 0×00);
$colorText = imagecolorallocate($image, 0×00, 0×00, 0×00);
$colorSlice[] = imagecolorallocate($image, 0xFF, 0×00, 0×00);//这里是和你上面写的数组对应的颜色
$colorSlice[] = imagecolorallocate($image, 0×00, 0xFF, 0×00);
//填充背境
imagefill($image, 0, 0, $colorBody);
//画每一个扇形
$Degrees = 0;
for($index = 0; $index < count($ChartData); $index++){
$StartDegrees = round($Degrees);
$Degrees += (($ChartData[$index]/$ChartTotal)*360);
$EndDegrees = round($Degrees);
$CurrentColor = $colorSlice[$index%(count($colorSlice))];
//画图F
imagearc($image,$ChartCenterX,$ChartCenterY,$ChartDiameter,$ChartDiameter,$StartDegrees,$EndDegrees, $CurrentColor);
//画直线
list($ArcX, $ArcY) = circle_point($StartDegrees, $ChartDiameter);
imageline($image,$ChartCenterX,$ChartCenterY,floor($ChartCenterX + $ArcX),
floor($ChartCenterY + $ArcY),$CurrentColor);
//画直线
list($ArcX, $ArcY) = circle_point($EndDegrees, $ChartDiameter);
imageline($image,$ChartCenterX,$ChartCenterY,ceil($ChartCenterX + $ArcX),
ceil($ChartCenterY + $ArcY),$CurrentColor);
//填充扇形
$MidPoint = round((($EndDegrees – $StartDegrees)/2) + $StartDegrees);
list($ArcX, $ArcY) = circle_point($MidPoint, $ChartDiameter/2);
imagefilltoborder($image,floor($ChartCenterX + $ArcX),floor($ChartCenterY + $ArcY),
$CurrentColor,$CurrentColor);
}
//到此产生了一幅图像,把它发到浏览器上,重要是要将标头发给浏览器,让它知道是一个GIF文件。
header(“Content-type: image/png”);
imagegif($image);
?>
php扇形分布图,php生成扇形比例图的实例代码相关推荐
- 使用Vue动态生成form表单的实例代码
具有数据收集.校验和提交功能的表单生成器,包含复选框.单选框.输入框.下拉选择框等元素以及,省市区三级联动,时间选择,日期选择,颜色选择,文件/图片上传功能,支持事件扩展. 欢迎大家star学习交流: ...
- oracle存储过程生成单号,Oracle生成单据编号存储过程的实例代码
Oracle生成单据编号存储过程,在做订单类似的系统都可能会存在订单编号不重复,或是流水号按日,按年,按月进行重新编号. 可以参考以下存储过程 CREATE OR REPLACE procedure ...
- php柱状图html代码,html5生成柱状图(条形图)效果的实例代码
下面小编就为大家分享一篇html5生成柱状图(条形图)效果的实例代码.小编觉得挺不错的,现在分享给大家,也给大家一个参考.一起跟随小编过来看看吧 XML/HTML Code复制内容到剪贴板 (func ...
- oracle存储过程插入自动编号,Oracle生成单据编号存储过程的实例代码
Oracle生成单据编号存储过程,在做订单类似的系统都可能会存在订单编号不重复,或是流水号按日,按年,按月进行重新编号. 可以参考以下存储过程 0 then if DIsAutoCreate=1 TH ...
- 如何在html中自动生成条形图,html5生成柱状图(条形图)效果的实例代码
XML/HTML Code复制内容到剪贴板 (function (){ window.addEventListener("load", function(){ var data = ...
- python生成日历_Python创建日历实例代码
Python创建日历的方法 以下代码不使用Python提供的calendar实现. 此程序在windows下测试通过,由于python字符编码直接输出给操作系统,so win下以gbk ansi为准, ...
- B型超声设备图像处理:用二维数据生成扇形图像
昨晚,有同学私信咨询:如何将矩形数据转为扇扫图像?面对这个问题,我也是一脸懵逼,什么是扇扫?矩形数据又是啥?细问之下,才知道这是B型超声设备的数据处理问题.B超输出的数据保存在一个二维数组中,但显示在 ...
- python transformer category_Python 生成VOC格式的标签实例
常用目标检测模型基本都是读取的PASCAL VOC格式的标签,下面代码用于生成VOC格式的代码,根据需要修改即可: from lxml import etree, objectify def gen_ ...
- python 根据判断产生新列_pandas DataFrame 根据多列的值做判断,生成新的列值实例...
环境:Python3.6.4 + pandas 0.22 主要是DataFrame.apply函数的应用,如果设置axis参数为1则每次函数每次会取出DataFrame的一行来做处理,如果axis为1 ...
最新文章
- 儿子转眼就长大:Hinton、LeCun、Bengio 口述神经网络简史
- 一个有第三方ebuild的网站
- Python3引号创建字符串
- 大型企业网络配置系列课程详解(第一版)发布
- JQuery中的.attr()与.removeAttr()
- C++实现顺序串(完整代码)
- 华为云瑶光:打通云边端界限,为企业云上业务带来最优解
- python循环顶帖_python中的循环
- android命名管道创建使用
- 字节跳动算法工程师总结:java资料文件
- 谷歌浏览器禁止右滑返回历史_早报:拼多多加大百亿补贴力度;嫦娥五号择机返回地球;贾跃亭再成被执行人;微信订阅号页面改版...
- 软考中级网络工程师-第一章计算机网络概论(自我学习)
- 弘辽科技:直通车引流逻辑。
- sqlyog连接mysql错误码2058
- mysql myisam转innodb_转:MySQL从MyISAM引擎转换到InnoDB引擎需要注意的地方
- 微信小程序-店内点餐小程序
- 【Java虚拟机】第一章、Java虚拟机是如何产生的
- 【最新】CUDA Toolkit版本及可用PyTorch对应关系(参考官网)
- Java 程序员开发常用的工具(全)
- 【多校训练】2021牛客多校第二场