php柱状图生成类代码
这是一段完美的php柱状图生成类代码,可以生成漂亮实用的柱状图,代码如下:
<?php function createimage($data, $twidth, $tspace, $height) { $dataname = array(); $datavalue = array(); $i = 0; $j = 0; $k = 0; $num = sizeof($data); foreach ($data as $key => $val) { $dataname[] = $key; $datavalue[] = $val; } $maxnum = max($data); $width = ($twidth + $tspace) * $num + 4; //image's width $im = imagecreate($width + 40, $height + 20); $linecolor = imagecolorallocate($im, 12, 12, 12); $bgcolor = imagecolorallocate($im, 235, 233, 233); $tcolor = imagecolorallocate($im, 123, 200, 56); imagefill($im, 0, 0, $bgcolor); imageline($im, 30, 0, 30, $height - 2, $linecolor); imageline($im, 30, $height - 2, $width + 30 - 2, $height - 2, $linecolor); while ($i < $num) { imagefilledrectangle($im, $i * ($tspace + $twidth) + 40, $height - $datavalue[$i], $i * ($tspace + $twidth) + 40 + $twidth, $height - 3, $tcolor); imagestringup($im, 4, $i * ($tspace + $twidth) + $twidth / 2 + 30, $height - 10, $dataname[$i] . "(" . $datavalue[$i] . ")", $linecolor); $i++; } while ($j <= (500 / 10)) { imagestringup($im, 4, 2, $height - $j * 10 + 10, $j * 10, $linecolor); $j = $j + 10; } while ($k <= (500 / 10)) { if ($k != 0) imageline($im, 28, $height - $k * 10, 32, $height - $k * 10, $linecolor); $k = $k + 10; } imagepng($im); } ?>
调用方法, 代码如下:
header("content-type:image/png"); $data = array( "yahoo" => 120, "google" => 260, "microsoft" => 320, "ibm" => 290, "sun system" => 150, "inter" => 260 ); createimage($data, 38, 25, 460);
永久地址:http://www.phprm.com/tuxiang/fs4485.html
转载随意~请带上教程地址吧^^