Heim >Backend-Entwicklung >PHP-Tutorial >PHP生成柱状图实例代码

PHP生成柱状图实例代码

WBOY
WBOYOriginal
2016-07-25 08:53:151139Durchsuche
  1. /*PHP生成柱状图*/

  2. function createImage($data,$twidth,$tspace,$height){
  3. $dataName = array();
  4. $dataValue = array();
  5. $i = 0;
  6. $j = 0;
  7. $k = 0;
  8. $num = sizeof($data);
  9. foreach($data as $key => $val){

  10. $dataName[] = $key;
  11. $dataValue[] = $val;
  12. }
  13. $maxnum = max($data);
  14. $width = ($twidth + $tspace) * $num + 4;//image's width
  15. $im = imagecreate($width + 40,$height+20);
  16. $lineColor = imagecolorallocate($im,12,12,12);
  17. $bgColor = imagecolorallocate($im,255,233,233);
  18. $tColor = imagecolorallocate($im,123,200,56);
  19. imagefill($im,0,0,$bgColor);
  20. imageline ( $im, 30, 0, 30, $height - 2, $lineColor);
  21. imageline ( $im, 30, $height - 2, $width + 30 -2 , $height - 2,$lineColor);
  22. while($i imagefilledrectangle ( $im, $i * ($tspace+$twidth) + 40, $height - $dataValue[$i], $i * ($tspace+$twidth) + 40 + $twidth, $height - 3, $tColor);
  23. imagestringup ( $im, 4, $i * ($tspace+$twidth) + $twidth/2 + 30, $height - 10, $dataName[$i]."(".$dataValue[$i].")", $lineColor);
  24. $i++;
  25. }
  26. while($j imagestringup ( $im, 4, 2, $height - $j * 10 + 10, $j * 10, $lineColor);
  27. $j = $j + 10;
  28. }
  29. while($k if($k != 0)
  30. imageline ( $im, 28, $height - $k * 10, 32 , $height - $k * 10,$lineColor);
  31. $k = $k + 10;
  32. }
  33. imagepng($im);
  34. }
  35. //柱状图调用方法

  36. header("content-type:image/png");
  37. $data = array("Yahoo" => 140, "Google" => 200,"Microsoft" => 120,"IBM" => 80,"Sun System" => 350,"Inter" => 20);
  38. 将这行中数据改成你的即可:$data = array("Yahoo" => 100, "Google" => 260,"Microsoft" => 320,"IBM" => 250,"Sun System" => 150,"Inter" => 220);
  39. createImage($data,50,25,500);
  40. ?>
复制代码

柱状图,如下: php柱状图实例



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn