Home >php教程 >php手册 >PHP的生成条形图

PHP的生成条形图

WBOY
WBOYOriginal
2016-06-13 11:23:061345browse

PHP的生成条形图
由于overwhelmning为广东的需求有关的例子,这个最重要的是产生从一个数组条形图要

求。当然,这些可以很容易地从任何来源数目,以及投入到一个数组


  // create an array of values for the chart. These values
  // could come from anywhere, POST, GET, database etc.
  $values = array(23,32,35,57,12,3,36,54,32,15,43,24,30);

  // now we get the number of values in the array. this will
  // tell us how many columns to plot
    $columns  = count($values);

  // set the height and width of the graph image

    $width = 300;
    $height = 200;

  // Set the amount of space between each column
    $padding = 5;

  // Get the width of 1 column
    $column_width = $width / $columns ;

  // set the graph color variables
    $im        = imagecreate($width,$height);
    $gray      = imagecolorallocate ($im,0xcc,0xcc,0xcc);
    $gray_lite = imagecolorallocate ($im,0xee,0xee,0xee);
    $gray_dark = imagecolorallocate ($im,0x7f,0x7f,0x7f);
    $white     = imagecolorallocate ($im,0xff,0xff,0xff);

  // set the background color of the graph
    imagefilledrectangle($im,0,0,$width,$height,$white);


  // Calculate the maximum value we are going to plot
  $max_value = max($values);

  // loop over the array of columns
    for($i=0;$i        {
    // set the column hieght for each value
        $column_height = ($height / 100) * (( $values[$i] / $max_value)

*100);
    // now the coords
        $x1 = $i*$column_width;
        $y1 = $height-$column_height;
        $x2 = (($i+1)*$column_width)-$padding;
        $y2 = $height;

        // write the columns over the background
        imagefilledrectangle($im,$x1,$y1,$x2,$y2,$gray);

        // This gives the columns a little 3d effect
        imageline($im,$x1,$y1,$x1,$y2,$gray_lite);
        imageline($im,$x1,$y2,$x2,$y2,$gray_lite);
        imageline($im,$x2,$y1,$x2,$y2,$gray_dark);
        }

   // set the correct png headers
   header ("Content-type: image/png");
  // spit the image out the other end
  imagepng($im);
?>


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn