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

PHP的生成条形图

WBOY
WBOYOriginal
2016-06-13 11:23:061344Durchsuche

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);
?>


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
Vorheriger Artikel:php 通用分页类Nächster Artikel:php 用txt文本文件做数据库程序