php生成 曲线图 没测过

上传人:小** 文档编号:89126567 上传时间:2019-05-19 格式:DOC 页数:11 大小:31KB
返回 下载 相关 举报
php生成 曲线图  没测过_第1页
第1页 / 共11页
php生成 曲线图  没测过_第2页
第2页 / 共11页
php生成 曲线图  没测过_第3页
第3页 / 共11页
php生成 曲线图  没测过_第4页
第4页 / 共11页
php生成 曲线图  没测过_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《php生成 曲线图 没测过》由会员分享,可在线阅读,更多相关《php生成 曲线图 没测过(11页珍藏版)》请在金锄头文库上搜索。

1、PHP生成曲线图没测过PHP生成曲线图(没测过)2010-12-1714:28?php/最后一次修改:2004-6-21/一个生成矩形图,曲线图的图形分析类/作者:tonera/说明:/任何人可在任何场合自由使用这个类。但由此所发生的损害跟作者无关。/可根据数据自适应X和Y轴大小。/在同一个图形中可显示多个曲线图/用户可给出生成的图的尺寸大小,数据参数。类根据数据的值来判断生成的图形的高(默认10格)和宽各分几格。/若用户没有给出图的尺寸大小,则图形高和宽为255像素/数据参数通过一个方法add_data($array)来多次添加,每次一个数组。/可自设定图形边框,矩形图内线,深色边框线,浅色

2、边框线,曲线,点的颜色。若用户没有指定,则为默认值/set_colors方法设定不同曲线的不同色彩/可进行图形的叠加显示:点,线,矩形/注意:需要GD库支持classbuild_graphvar$graphwidth=300;var$graphheight=300;var$width_num=0;/宽分多少等分var$height_num=10;/高分多少等分,默认为10var$height_var=0;/高度增量(用户数据平均数)var$width_var=0;/宽度增量(用户数据平均数)var$height_max=0;/最大数据值var$array_data=array();/用户待分析

3、的数据的二维数组var$array_error=array();/收集错误信息var$colorBg=array(255,255,255);/图形背景-白色var$colorGrey=array(192,192,192);/灰色画框var$colorBlue=array(0,0,255);/蓝色var$colorRed=array(255,0,0);/红色(点)var$colorDarkBlue=array(0,0,255);/深色var$colorLightBlue=array(200,200,255);/浅色var$array_color;/曲线着色(存储十六进制数)var$image;/

4、我们的图像/方法:接受用户数据functionadd_data($array_user_data)if(!is_array($array_user_data)orempty($array_user_data)$this-array_erroradd_data=没有可供分析的数据;returnfalse;exit();$i=count($this-array_data);$this-array_data$i=$array_user_data;/方法:定义画布宽和长functionset_img($img_width,$img_height)$this-graphwidth=$img_width;

5、$this-graphheight=$img_height;/设定Y轴的增量等分,默认为10份functionset_height_num($var_y)$this-height_num=$var_y;/定义各图形各部分色彩functionget_RGB($color)/得到十进制色彩$R=($color16)&0xff;$G=($color8)&0xff;$B=($color)&0xff;return(array($R,$G,$B);/-#定义背景色functionset_color_bg($c1,$c2,$c3)$this-colorBg=array($c1,$c2,$c3);#定义画框色

6、functionset_color_Grey($c1,$c2,$c3)$this-colorGrey=array($c1,$c2,$c3);#定义蓝色functionset_color_Blue($c1,$c2,$c3)$this-colorBlue=array($c1,$c2,$c3);#定义色Redfunctionset_color_Red($c1,$c2,$c3)$this-colorRed=array($c1,$c2,$c3);#定义深色functionset_color_DarkBlue($c1,$c2,$c3)$this-colorDarkBlue=array($c1,$c2,$c

7、3);#定义浅色functionset_color_LightBlue($c1,$c2,$c3)$this-colorLightBlue=array($c1,$c2,$c3);/-/方法:由用户数据将画布分成若干等份宽/并计算出每份多少像素functionget_width_num()$this-width_num=count($this-array_data0);functionget_max_height()/获得用户数据的最大值$tmpvar=array();foreach($this-array_dataas$tmp_value)$tmpvar=max($tmp_value);$thi

8、s-height_max=max($tmpvar);returnmax($tmpvar);functionget_height_length()/计算出每格的增量长度(用户数据,而不是图形的像素值)$max_var=$this-get_max_height();$max_var=round($max_var/$this-height_num);$first_num=substr($max_var,0,1);if(substr($max_var,1,1)if(substr($max_var,1,1)=5)$first_num+=1;for($i=1;$istrlen($max_var);$i+)

9、$first_num.=0;return(int)$first_num;functionget_var_wh()/得到高和宽的增量$this-get_width_num();/得到高度增量和宽度增量$this-height_var=$this-get_height_length();$this-width_var=round($this-graphwidth/$this-width_num);functionset_colors($str_colors)/用于多条曲线的不同着色,如$str_colors=ee00ff,dd0000,cccccc$this-array_color=split(,

10、$str_colors);#functionbuild_line($var_num)if(!empty($var_num)/如果用户只选择显示一条曲线$array_tmp0=$this-array_data$var_num-1;$this-array_data=$array_tmp;for($j=0;$jcount($this-array_data);$j+)list($R,$G,$B)=$this-get_RGB(hexdec($this-array_color$j);$colorBlue=imagecolorallocate($this-image,$R,$G,$B);for($i=0;$

11、i$this-width_num-1;$i+)$height_pix=round($this-array_data$j$i/$this-height_max)*$this-graphheight);$height_next_pix=round($this-array_data$j$i+1/$this-height_max*$this-graphheight);imageline($this-image,$this-width_var*$i,$this-graphheight-$height_pix,$this-width_var*($i+1),$this-graphheight-$height

12、_next_pix,$colorBlue);/画点$colorRed=imagecolorallocate($this-image,$this-colorRed0,$this-colorRed1,$this-colorRed2);for($j=0;$jcount($this-array_data);$j+)for($i=0;$i$this-width_num;$i+)$height_pix=round($this-array_data$j$i/$this-height_max)*$this-graphheight);imagearc($this-image,$this-width_var*$i

13、,$this-graphheight-$height_pix,6,5,0,360,$colorRed);imagefilltoborder($this-image,$this-width_var*$i,$this-graphheight-$height_pix,$colorRed,$colorRed);#functionbuild_rectangle($select_gra)if(!empty($select_gra)/用户选择显示一个矩形$select_gra-=1;/画矩形/配色$colorDarkBlue=imagecolorallocate($this-image,$this-colo

14、rDarkBlue0,$this-colorDarkBlue1,$this-colorDarkBlue2);$colorLightBlue=imagecolorallocate($this-image,$this-colorLightBlue0,$this-colorLightBlue1,$this-colorLightBlue2);if(empty($select_gra)$select_gra=0;for($i=0;$i$this-width_num;$i+)$height_pix=round($this-array_data$select_gra$i/$this-height_max)*$this-graphheight);imagefilledrectangle($this-image,$this-width_var*$i,$this-graphheight-$height_p

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号