>백엔드 개발 >PHP 튜토리얼 >PHP는 히스토그램 예제 코드를 생성합니다.

PHP는 히스토그램 예제 코드를 생성합니다.

WBOY
WBOY원래의
2016-07-25 08:53:151139검색
  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는 히스토그램 예제 코드를 생성합니다.



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.