很高兴大家对PHP如此的情有独钟! 下面就给大家介绍php作线形图的函数:
/* 函数说明 $data:y轴数据(数组) $graphdata:y轴数据--百分比(数组) $label:x轴数据(数组) $height:图像高度 $width:图像宽度 $font:字号 $dot:决定点的大小 $bg:背景色 $line :线色 $text :文本色 $dotcolor:点色 $file:输出图像文件名 */
function qximage($data , $graphdata, $label , $height, $width , $font, $dot, $bg, $line, $text, $dotcolor, $file) { $jc=$height/100; $fontwidth= imagefontwidth ($font); $fontheight=imagefontheight($font);
$image= imagecreate ($width,$height+20); $bg= imagecolorallocate($image ,$bg[0],$bg[1],$bg[2]); $line=imagecolorallocate($image ,$line[0],$line[1],$line[2]); $text=imagecolorallocate($image ,$text[0],$text[1],$text[2]); $dotcolor=imagecolorallocate($image ,$dotcolor[0],$dotcolor[1],$$dotcolor[2]); imageline ($image,0,0,0,$height,$line); imageline($image,0,$height,$width,$height,$line); for ($i=1;$i<11;$i++) { imagedashedline($image,0,$height - $jc*$i*10 ,$width ,$height -$jc*$i*10 ,$line ); imagestring ($image,$font,0,$height-$jc*$i*10,$i*10,$text); } for ($i=0;$i { #echo $tmp." "; $x1=(($width-50)/count($data))*($i)+40; #echo $x1 ." "; $y1=$height-$graphdata[$i]*$jc; $x2=$x1; $y2=$y1+$graphdata[$i]*$jc; #echo $y1." "; imagestring($image,$font,$x1,$y1-2*$fontheight,$graphdata[$i]."%(".$data[$i].")",$text); imagearc ($image,$x1 ,$y1,$dot,$dot,0,360,$dotcolor); imagefilltoborder ($image,$x1,$y1,$dotcolor,$dotcolor); imagestring ($image,$font,$x1,$y2,$label[$i],$text); if ($i>0) { imageline($image,$tmpx1,$tmpy1,$x1,$y1,$line); } $tmpx1=$x1;$tmpy1=$y1; } imagegif ($image,$file); } ?>
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】 |