如何用php作线形图的函数

王朝php·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

很高兴大家对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);

}

?>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航