PHP 柱状图实现代码

 更新时间:2009年12月04日 13:01:33   作者:  
利用imagefilledrectugle的函数来画出矩形,实现柱状图,具体的代码里面都加入了详细的注释。
还有疑问的朋友可以加我QQ:460634320,大家一起讨论。
效果图:

复制代码 代码如下:

<?php
function createImage($data,$twidth,$tspace,$height){
header("Content-Type:image/jpeg");
$dataname = array();
$datavalue = array();//data里面的值
$i = 0;
$j = 0;
$k = 0;
$num = sizeof($data);

foreach($data as $key => $val){
$dataname[] = $key;
$datavalue[] = $val;
}

$width = $num * ($twidth + $tspace) + 20 ;//获取图像的宽度
$im = imagecreate($width,$height);//创建图像

$bgcolor = imagecolorallocate($im,255,255,255);//背景色
$jcolor = imagecolorallocate($im,255,255,0);//矩形的背景色
$acolor = imagecolorallocate($im,0,0,0);//线的颜色

imageline($im,25,$height-20,$width-5,$height -20,$acolor);//X轴
imageline($im,25,$height-20,25,2,$acolor);//Y轴
while($i< $num){
imagefilledrectangle($im,$i*($tspace+$twidth)+40,$height-$datavalue[$i]-20,$i*($twidth+$tspace)+$tspace+40,$height-20,$jcolor);//画矩形
imagestring($im,3,$i*($tspace+$twidth)+40+$twidth/2,$height-$datavalue[$i]-35,$datavalue[$i],$acolor);//在柱子上面写出值
imagestring($im,3,$i*($tspace+$twidth)+40+$twidth/2,$height-15,$dataname[$i],$acolor);//在柱子下面写出值
$i ++;

}
while($j < 400/10){
imageline($im,25,($height-20)-$j*8,28,($height-20)-$j*8,$acolor);//画出刻度
imagestring($im,2,5,($height-30)-$j*8,$j*10,$acolor);//标出刻度值
$j = $j +10;
}
imagejpeg($im);
}
$data =array("1"=>25,"2"=>30,"3" =>21 );
createImage($data,40,40,300);

?>

相关文章

  • php5.6.x到php7.0.x特性小结

    php5.6.x到php7.0.x特性小结

    这篇文章主要介绍了php5.6.x到php7.0.x特性,总结分析了php5.6.x到php7.0.x各种常用特性及新增特性,以及相关使用技巧,需要的朋友可以参考下
    2019-08-08
  • PHP+MySQL实现的简单投票系统实例

    PHP+MySQL实现的简单投票系统实例

    这篇文章主要介绍了PHP+MySQL实现的简单投票系统,以完整实例形式分析了PHP+MySQL实现投票功能的具体功能代码与相关技巧,需要的朋友可以参考下
    2016-02-02
  • php投票系统之增加与删除投票(管理员篇)

    php投票系统之增加与删除投票(管理员篇)

    这篇文章主要为大家详细介绍了php投票系统管理员部分,增加投票与删除投票,需要的朋友可以参考下
    2016-07-07
  • 浅析PHP echo 和 print 语句

    浅析PHP echo 和 print 语句

    这篇文章主要介绍了PHP echo 和 print 语句的的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • php对文件进行hash运算的方法

    php对文件进行hash运算的方法

    这篇文章主要介绍了php对文件进行hash运算的方法,涉及针对文件的hash运算技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • php-cli简介(不会Shell语言一样用Shell)

    php-cli简介(不会Shell语言一样用Shell)

    刚才说到,我们可以用php来开发Shell程序。有的同学可能会问啦:php不是用来做网页的么?。是的,php可以用来做动态网页,并且当初php就是为做动态网页而开发的语言,但是理论上php可以用来做任何的程序,甚至是桌面程序
    2013-06-06
  • 必须收藏的php实用代码片段

    必须收藏的php实用代码片段

    这篇文章主要为大家又分享了必须收藏的23个php实用代码片段,帮助大家更好地学习php程序设计,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 配置php网页显示各种语法错误

    配置php网页显示各种语法错误

    使用php集成开发环境Appserv网页会提示各种语法错误,但自己配置开发环境无法提示错误,这种情况该怎么解决呢?感兴趣的朋友可以了解下本文
    2013-09-09
  • thinkphp5实用入门进阶知识点和各种常用功能代码汇总

    thinkphp5实用入门进阶知识点和各种常用功能代码汇总

    这篇文章主要介绍了thinkphp5实用入门进阶知识点和各种常用功能代码汇总的相关资料,需要的朋友可以参考下
    2023-03-03
  • 关于更改Zend Studio/Eclipse代码风格主题的介绍

    关于更改Zend Studio/Eclipse代码风格主题的介绍

    本篇文章是对关于更改Zend Studio/Eclipse代码风格主题进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论