PHP生成条形图的方法

 更新时间:2014年12月10日 14:30:26   投稿:shichen2014  
这篇文章主要介绍了PHP生成条形图的方法,可实现生成柱状的条形图,适用于一些类似柱状图显示报表的场合,具有一定的实用价值,需要的朋友可以参考下

本文实例讲述了PHP生成条形图的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:

<?php
  // 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<$columns;$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); 
?>

运行效果如下图所示:

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

  • 解决FastCGI 进程超过了配置的活动超时时限的问题

    解决FastCGI 进程超过了配置的活动超时时限的问题

    本篇文章是对解决FastCGI 进程超过了配置的活动超时时限的方法进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • php+ajax登录跳转登录实现思路

    php+ajax登录跳转登录实现思路

    这篇文章主要介绍了php+ajax登录跳转登录实现思路,非常的简单,有需要的小伙伴可以参考下
    2016-07-07
  • PHP重定向与伪静态区别

    PHP重定向与伪静态区别

    伪静态是SEO重要的方法,通过重定向来实现,并且可以通过重定向来隐藏网站的技术,过滤异常访问。本课分为两部分,前半部分详细介绍Apache重定向的基础知识,后半部分通过多个实际案例再次加深对重定向的理解,并且会演示各种重定向设置后的实际效果。
    2017-02-02
  • php验证手机号码(支持归属地查询及编码为UTF8)

    php验证手机号码(支持归属地查询及编码为UTF8)

    本文将实现以下功能:手机号验证/手机号码归属地/转换字符串编码为UTF8,对此有兴趣的朋友可以参考下,或许本文对你有所帮助
    2013-02-02
  • php传值和传引用的区别点总结

    php传值和传引用的区别点总结

    在本篇文章里小编给大家整理的是关于php传值和传引用的区别点总结,需要的朋友们可以参考下。
    2019-11-11
  • escape unescape的php下的实现方法

    escape unescape的php下的实现方法

    escape unescape的php下的实现方法...
    2007-04-04
  • PHP框架自动加载类文件原理详解

    PHP框架自动加载类文件原理详解

    这篇文章主要为大家详细介绍了PHP框架自动加载类文件原理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • PHP实现的曲线统计图表示例

    PHP实现的曲线统计图表示例

    这篇文章主要介绍了PHP实现的曲线统计图表,结合实例形式分析了php基于图形绘制实现曲线统计图展现功能的相关操作技巧,需要的朋友可以参考下
    2016-11-11
  • PHP获取类私有属性的3种方法

    PHP获取类私有属性的3种方法

    这篇文章主要介绍了PHP获取类私有属性的3种方法,帮助大家更好的理解和使用php,感兴趣的朋友可以了解下
    2020-09-09
  • PHP面向对象程序设计实例分析

    PHP面向对象程序设计实例分析

    这篇文章主要介绍了PHP面向对象程序设计的方法,结合实例形式分析了PHP面向对象程序设计中类的声明与实例化及类中方法的调用技巧,需要的朋友可以参考下
    2016-01-01

最新评论