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 empty() 检查一个变量是否为空
Nov 10 PHP
PHP json_encode中文乱码问题的解决办法
Sep 09 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
Feb 03 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
Jun 19 PHP
php外部执行命令函数用法小结
Oct 11 PHP
老生常谈PHP 文件写入和读取(必看篇)
May 22 PHP
浅谈thinkphp5 instance 的简单实现
Jul 30 PHP
WHOOPS PHP调试库的使用
Sep 29 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
php实现获取近几日、月时间示例
Jul 06 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 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
WAR3重制版DOTA 5V5初体验
2020/04/09 DOTA
PHP新手上路(五)
2006/10/09 PHP
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
改版了网上的一个js操作userdata
2007/04/27 Javascript
Jquery ajaxsubmit上传图片实现代码
2010/11/04 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
javascript 判断两个日期之差的示例代码
2015/09/05 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
使用jQuery给input标签设置默认值
2016/06/20 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
[05:34]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY第二弹
2014/06/25 DOTA
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
简化Python的Django框架代码的一些示例
2015/04/20 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
python后端接收前端回传的文件方法
2019/01/02 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
使用pandas 将DataFrame转化成dict
2019/12/10 Python
django框架两个使用模板实例
2019/12/11 Python
pytorch forward两个参数实例
2020/01/17 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
python能否java成为主流语言吗
2020/06/22 Python
python常量折叠基础知识点讲解
2021/02/28 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
The North Face北面德国官网:美国著名户外品牌
2018/12/12 全球购物
介绍一下Ruby中的对象,属性和方法
2012/07/11 面试题
敬老院活动总结
2014/04/28 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
2014年控辍保学工作总结
2014/12/08 职场文书
2015年社区党务工作总结
2015/04/21 职场文书
2019年年中职场激励人心语录30条
2019/08/07 职场文书
Win11 25163.1010更新补丁KB5016904推送,测试服务验证管道(附更新修复汇总)
2022/07/23 数码科技