PHP 柱状图实现代码


Posted in PHP onDecember 04, 2009

还有疑问的朋友可以加我QQ:460634320,大家一起讨论。
效果图:
PHP 柱状图实现代码

<?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); 
?>
PHP 相关文章推荐
PHP 编程请选择正确的文本编辑软件
Dec 21 PHP
php 什么是PEAR?
Mar 19 PHP
PHP初学者最感迷茫的问题小结
Mar 27 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
Jun 20 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
Mar 27 PHP
php上传图片客户端和服务器端实现方法
Mar 30 PHP
php编写的抽奖程序中奖概率算法
May 14 PHP
搭建基于Docker的PHP开发环境的详细教程
Jul 01 PHP
Yii2.0 模态弹出框+ajax提交表单
May 22 PHP
PHP实现Huffman编码/解码的示例代码
Apr 20 PHP
PHP 二维array转换json的实例讲解
Aug 21 PHP
php进程daemon化的正确实现方法
Sep 06 PHP
Ajax+PHP边学边练 之五 图片处理
Dec 03 #PHP
PHPMyadmin 配置文件详解(配置)
Dec 03 #PHP
又一个php 分页类实现代码
Dec 03 #PHP
php 无限分类的树类代码
Dec 03 #PHP
php zip文件解压类代码
Dec 02 #PHP
PHP5 面向对象(学习记录)
Dec 02 #PHP
php smarty模版引擎中的缓存应用
Dec 02 #PHP
You might like
PHP递归调用的小技巧讲解
2013/02/19 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
Notify - 基于jquery的消息通知插件
2011/10/18 Javascript
js对文章内容进行分页示例代码
2014/03/05 Javascript
显示今天的日期js代码(阳历和农历)
2014/09/30 Javascript
浅谈JavaScript中的Math.atan()方法的使用
2015/06/14 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
js实现3d悬浮效果
2017/02/16 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
vue mint-ui tabbar变组件使用
2018/05/04 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
Python文件夹批处理操作代码实例
2020/07/21 Python
Python如何绘制日历图和热力图
2020/08/07 Python
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
.net软件工程师应聘上机试题
2015/03/10 面试题
艺术应用与设计个人的自我评价
2013/11/23 职场文书
小学班主任寄语大全
2014/04/04 职场文书
市场推广策划方案
2014/06/02 职场文书
2016党员干部政治学习心得体会
2016/01/23 职场文书
《刷子李》教学反思
2016/02/20 职场文书
python面向对象版学生信息管理系统
2021/06/24 Python