【php开源代码栏目提醒】:网学会员php开源代码为您提供rectangle.php参考,解决您在rectangle.php学习中工作中的难题,参考学习。
<?php
header('Content-type: image/png');
$width = 240;
$height=240;
$unit=35;
$left=20;
$right=20;
$top=20;
$buttom=20;
$data = array(10,5,30,40,25);
$name = array('a','b','c','d','e');
for($i=0;$i<count($data);$i++)
{
if($data[$i]>$max) $max=$data[$i];
}
$y = array();
$image = imagecreate($width,$height);
//设置背景色、柱形填充颜色、坐标颜色
$white = imagecolorallocate($image,255,255,255);
$blue = imagecolorallocate($image,0,0,255);
$black = imagecolorallocate($image,0,0,0);
//横坐标
imageline ( $image, $left, $height-$buttom, $width-$right, $height-$buttom, $black);
//纵坐标
imageline ( $image, $left, $top/4, $left, $height-$buttom, $black);
//画横坐标的箭头
imageline($image,$width-$right,$height-$buttom,($width-$right)-8,$height-$buttom+3,$black);
imageline($image,$width-$right,$height-$buttom,($width-$right)-8,$height-$buttom-3,$black);
//画纵坐标的箭头
imageline($image,$left,$top/4,$left+3,$top/4+8,$black);
imageline($image,$left,$top/4,$left-3,$top/4+8,$black);
//横坐标刻度
for($i=0;$i < count($data);$i++)
{
imageline($image, $left+$i*$unit, $height-$buttom, $left+$i*$unit, $height-$buttom-5, $black);
imagestring($image,2,$left+($i+1)*$unit-$unit/3,$height-$buttom,$name[$i],$black);
}
//纵坐标刻度
for($i=0;$i<count($data);$i++)
{
imageline($image,$left,$top+($height-$top-$buttom)*$i/(count($data)),$left+5,$top+($height-$top-$buttom)*$i/(count($data)),$black);
imagestring($image,2,$left/4,$top+($height-$top-$buttom)*$i/(count($data)),$max*(count($data)-$i)/(count($data)),$black);
}
//计算每个柱形的高度
for($i=0;$i<count($data);$i++)
{
$y[$i] = round(($height-$top-$buttom)*$data[$i]/$max);
}
//画柱形图
for($i=0;$i<count($data);$i++)
{
imagefilledrectangle($image,$left+$i*$unit+10,$height-$buttom-$y[$i],$left+$i*$unit+$unit,$height-$buttom,$blue);
}
//画柱形数据点的值
for($i=1;$i<=count($data);$i++)
{
imagestring($image,3,$left+$i*$unit-20,$height-$buttom-$y[$i-1]-15,$data[$i-1],$black);
}
imagepng($image);
imagedestroy($image);
?>