Let's take a look at the function code for drawing a column chart in PHP. It's too much to say, so let's take a look. It's too much to say.
Let’s take a look at the function code for drawing a column chart in PHP. It’s too much to say, so let’s take a look. It’s too much to say.
PHP function for making column chart
Keywords: PHP
#For convenience, I made another function to create a column chart
/*Parameter description:
$graphdata: Percentage data (y-axis)
$label:x-axis title
$data: actual data (y-axis)
$graphwidth:image width
$graphheight:image height
$graphscale: height factor (for $graphheight/100)
$graphfont: font number
$bg;Background color value
$text: text color value
$grid: Edge color value
$bar:Color value of bar
$bz: Remarks (Chinese is not supported)
*/
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);
}
?>