php生成柱状图(统计图)程序

栏目: 编程语言 发布于: 2014-04-25 18:30:02

做程序开发的基本都会要接触到做数据分析统计这种功能,比如将一堆枯燥的统计数据转变为更为直观的柱状统计图等。下面作者将要和大家分享一下如何利用php生成柱状统计图。

先贴一下这个php程序生成的柱状统计图的效果图:

该程序的具体代码如下:

<?php
$data=array("1"=>100,"2"=>30,"3" =>21,4=>'165',5=>'182');
createImage($data,40,40,300);
/*
* author http://www.phpernote.com/
* php生成柱状统计图程序
* $data 二维数组形式的数据
* $twidth 柱形宽度
* $tspace 两个柱形之间的距离
* $height 柱状图的高度
*/
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)+100 ;//获取图像的宽度 
	$im=imagecreate($width,$height);//创建图像
	$bgcolor=imagecolorallocate($im,255,255,255);//背景色 
	$jcolor=imagecolorallocate($im,255,0,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-21,$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<($height)/10){
		imageline($im,25,($height-20)-$j*10,28,($height-20)-$j*10,$acolor);//画出刻度 
		imagestring($im,2,5,($height-30)-$j*10,$j*10,$acolor);//标出刻度值 
		$j=$j+10;
	}
	imagejpeg($im);
}
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。
转载请注明:文章转载自 [http://www.php230.com]
本文标题:php生成柱状图(统计图)程序
IT技术书籍推荐:
细说PHP(精要版)
细说PHP(精要版)
高洛峰 (作者), LAMP兄弟连 (编者)
PHP是开发Web应用系统最理想的工具,拥有易于使用、功能强大、成本低廉、安全性高、开发速度快且执行灵活等优点。《细说PHP(第2版)》自出版以来,销售一路在同类书籍中领先,已成为PHP学习者首选的工具书。为了可以让读者携带方便及更精准地掌握PHP的重点、要点,同时能使之作为大学计算机系PHP教材普及,特别推出《细说PHP精要版》。本书是以《细说PHP(第2版)》为基础,提取出精华内容,都是PHP开发中必须需要掌握的技术点。全书以实用为目标设计,包含PHP开发中必备的各项技术,对已列出的每一个知识点都进行了深入详细的讲解,并附有大量的经典实例代码,图文并茂,并且侧重介绍了PHP的相关技术在实际Web开发中的应用。
最新互联网资讯