119电脑网

当前位置: 主页 > Php >

php做柱型图的函数

时间:2013-09-19 21:55来源: 作者: 点击:
php#为了方便起见,我又做了一个函数来制作柱型图/*参数说明:$graphdata:百分比数据(y轴)$label:x轴标题$data:实际数据(y轴)$graphwidth:图像宽度$graphheight。


关键词:PHP

#为了方便起见,我又做了一个函数来制作柱型图
/*参数说明:
$graphdata:百分比数据(y轴)
$label:x轴标题
$data:实际数据(y轴)
$graphwidth:图像宽度
$graphheight:图像高度
$graphscale:高度因子(为$graphheight/100)
$graphfont:字体号
$bg;背景颜色值
$text:文本颜色值
$grid:边线颜色值
$bar:柱的颜色值
$bz:备注(不支持中文呀)
*/
function timage(
$graphdata,$label,$data,
$graphwidth,$graphheight,$graphscale,$graphfont,
$bg,$text,$grid,$bar,$bz)
{

header("Content-type:image/gif");
$image=imagecreate($graphwidth+50,$graphheight+50);
$bgcolor= imagecolorallocate ($image ,$bg[0],$bg[1],$bg[2]);
$textcolor= imagecolorallocate ($image ,$text[0],$text[1],$text[2]);
$gridcolor=imagecolorallocate ($image ,$grid[0],$grid[1],$grid[2]);
$barcolor=imagecolorallocate ($image ,$bar[0],$bar[1],$bar[2]);
$gridabelwidth=imagefontwidth($graphfont)*3+1;
$gridableheight= imagefontheight ($graphfont);
imageline($image,$gridlabelwidth,0,$gridlabelwidth,$graphheight-1,$gridcolor);
imageline($image,0,$graphheight-1,$graphwidth-1,$graphheight-1,$gridcolor);
for($i=0;$i<$graphheight;$i+=$graphheight/10)
{
imagedashedline ($image,0,$i,$graphwidth-1,$i,$gridcolor);
imagestring($image,$graphfont,0,$i,round(($graphheight-$i)/$graphscale),$textcolor);
}

$barwidth=(($graphwidth-$gridlabelwidth)/count($graphdata))-30;#&iquest;&Oslash;&Ouml;&AElig;&Ouml;ù&micro;&Auml;×&Uuml;&iquest;í&para;&Egrave;
for($i=0;$i {
$bartopx=$gridlabelwidth+(($i+1)*20)+($i*$barwidth);#&iquest;&Oslash;&Ouml;&AElig;&Ouml;ù&iquest;&iquest;×ó&micro;&Auml;&frac34;à&Agrave;&euml;
$barbottomx=$bartopx+$barwidth;
$barbottomy=$graphheight-1;#&iquest;&Oslash;&Ouml;&AElig;&Ouml;ù&micro;&Auml;&Iuml;&Acirc;±&szlig;&frac12;&ccedil;
$bartopy=$barbottomy-($graphdata[$i]*$graphscale);
imagefilledrectangle($image,$bartopx,$bartopy,$barbottomx,$barbottomy,$barcolor);
$labelx1=$bartopx;
$labely1=$bartopy-15;
$labelx2=$bartopx;
$labely2=$graphheight;
imagestring($image,$graphfont,$labelx1,$labely1,"$graphdata[$i]"."%",$textcolor);
imagestring($image,$graphfont,$labelx2,$labely2,"$label[$i]",$textcolor);
imagestringup ($image,$graphfont,$labelx1+10,$labely1-$gridableheight,"$data[$i]",$textcolor);
}
imagestring($image,$graphfont,1,$graphheight+30,$bz,$textcolor);
imagegif ($image);

}
?>

延伸阅读:7种流行PHP集成开发工具(IDE)的比较

编写关于 php 的系列文章让我更加深刻地了解了 PHP 开发人员的世界。当开始键入一个函数命令时,IDE 就会显示它的可用参数。公正地说,这是应该使用 IDE 而不是文本编辑器的首要原因。这种代码智能可以有效减少敲错类名、方法名和参数。 类视图 IDE 中的代码智能引擎产生的另一个作用是 IDE 可以产生项目的 类视图。

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
推荐内容