关键词: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;#¿ØÖÆÖùµÄ×Ü¿í¶È for($i=0;$i { $bartopx=$gridlabelwidth+(($i+1)*20)+($i*$barwidth);#¿ØÖÆÖù¿¿×óµÄ¾àÀë $barbottomx=$bartopx+$barwidth; $barbottomy=$graphheight-1;#¿ØÖÆÖùµÄϱ߽ç $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);
} ?>
|