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 相关文章推荐
PHP4.04简明安装
Oct 09 PHP
PHP 裁剪图片成固定大小代码方法
Sep 09 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 PHP
PHP文件大小格式化函数合集
Mar 10 PHP
在PHP中运行Linux命令并启动SSH服务的例子
Jun 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
php+html5使用FormData对象提交表单及上传图片的方法
Feb 11 PHP
深入讲解PHP的对象注入(Object Injection)
Mar 01 PHP
php实现购物车功能(以大苹果购物网为例)
Mar 09 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
Jul 13 PHP
php调用云片网接口发送短信的实现方法
Oct 25 PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 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中foreach()用法汇总
2015/07/02 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
Laravel 创建可以传递参数 Console服务的例子
2019/10/14 PHP
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
基于Vue 2.0的模块化前端 UI 组件库小结
2017/12/21 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
JavaScript 闭包的使用场景
2020/09/17 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
python BeautifulSoup使用方法详解
2013/11/21 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
django使用xadmin的全局配置详解
2019/11/15 Python
python实现加密的方式总结
2020/01/19 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
应用英语专业自荐信
2014/01/26 职场文书
认识深刻的检讨书
2014/02/16 职场文书
投标承诺函格式
2015/01/21 职场文书
会计专业自荐信范文
2015/03/05 职场文书
光荣之路观后感
2015/06/12 职场文书
python四种出行路线规划的实现
2021/06/23 Python