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

yipeiwu_com6年前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实现读取超大文件的方法

通常来说在php读取大文件的时候,我们采用的方法一般是一行行来讲取,而不是一次性把文件全部写入内存中,这样会导致php程序卡死,下面就给大家介绍这样一个例子。 读取大文件最后几行数据:...

php动态读取数据清除最右边距的方法

php动态读取数据清除最右边距的方法

需求效果一行3栏: 场景模拟:同事给了我这么一段静态代码如下: <!DOCTYPE html> <html lang="en"> <head>...

thinkPHP的Html模板标签使用方法

注意:在使用如<html:select />等标签之前,必须要引入TP的标签库:<tagLib name="html" /> 如果我们现在需要一个select下拉...

php限制文件下载速度的代码

有时候你会出于某种目的而要求把下载文件的速度放慢一些,例如你想实现文件下载进度条功能。限制下载速度最大的好处是节省带宽,避免瞬时流量过大而造成网络堵塞。本文将和你分享如何通过php代码来...

PHP中date()日期函数有关参数整理

在页面的最前页加上 date_default_timezone_set(PRC); /*把时间调到北京时间,php5默认为格林威治标准时间*/ date () a: "am"或是"pm"...