php绘图之生成饼状图的方法

yipeiwu_com5年前PHP代码库

本文实例讲述了php绘图之生成饼状图的方法。分享给大家供大家参考。具体如下:

这里要实现的功能是人口分布比例图,由扇形组成一个圆,每个扇形颜色不一样。

复制代码 代码如下:
<?php
$array = array("北京"=>1925,"上海"=>2016,"广州"=>1256,"深圳"=>980);
$arr_key = array_keys($array);
$color = array();
$im = imagecreatetruecolor(300,300);
for($i=1;$i<=count($array);$i++){
 $color[] = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
}

//创建饼状图,由多个扇形组成
$a1=rand(0,360);
$sum = array_sum($array);
for($j=0;$j<count($arr_key);$j++){
 $a2 = $a1 + $arr_key[$j]/$sum*360;
 imagefilledarc($im,150,150,180,80,$a1,$a2,$color[$j],IMG_ARC_PIE);
 $a1 = $a2;
}

//输出图像
header("content-type: image/png");
imagepng($im);
//关闭
imagedestroy($im);
?>

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

相关文章

php 正则表达式小结

列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。    正则表达式是由普通字符(例如字符 a 到 z)以及特殊字...

php 自定义函数实现将数据 以excel 表格形式导出示例

本文实例讲述了php 自定义函数实现将数据 以excel 表格形式导出。分享给大家供大家参考,具体如下: /** * 导出数据为excel表格 * @param * array $d...

ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单

首先是数据库的设计。分类表叫cate. 我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有...

PHP快速排序算法实例分析

本文实例讲述了PHP快速排序算法。分享给大家供大家参考,具体如下: 快速排序:在无序的数组$data中,选择任意一个值作为对比值,定义i为头部检索索引,j为尾部检索索引, 算法步骤: (...

php中json_decode()和json_encode()的使用方法

1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 J...