php报表统计曲线源代码,PHP绘制心电形状曲线统计图表[源码]_PHP教程

/******************************

* 折线图生成函数

******************************/

function line_stats_pic($value_y,$width,$high,$strong=1,$fix=0){

//y值处理函数

function line_point_y($num,$width,$high,$max_num_add,$min_num_add,$y_pxdensity){

$return=$high-floor(($num-$min_num_add+$y_pxdensity)/(($max_num_add-$min_num_add)/$high));

return $return;

}

//参数处理

$allnum=sizeof($value_y);

$maxmax_num=max($value_y); //最大值

$minmin_num=min($value_y); //最小值

$limit_m=$max_num-$min_num; //极差

$max_num_add=$max_num+$limit_m*0.1; //轴最大值

$min_num_add=$min_num-$limit_m*0.1; //轴最小值

$limit=$max_num_add-$min_num_add; //极差-坐标轴y

$y_pxdensity=($max_num_add-$min_num_add)/$high; //y轴密度

$x_pxdensity=floor($width/$allnum); //x轴密度

reset($value_y); //将数组指针归零

$i=0;

foreach($value_y as $val){

$point_y[$i]=line_point_y($val,$width,$high,$max_num_add,$min_num_add,$y_pxdensity);

$i++;

}

$zero_y=line_point_y(0,$width,$high,$max_num_add,$min_num_add,$y_pxdensity); //零点的y值

$empty_size_x=(strlen($max_num)>strlen($min_num) ? strlen($max_num) : strlen($min_num))*5+3; //左边空白

//图片流开始

header("Content-type:image/png");

$pic=imagecreate($width+$empty_size_x+10,$high+13);

imagecolorallocate($pic,255,255,255); //背景色

$color_1=imagecolorallocate($pic,30,144,255); //线条色

$color_2=imagecolorallocate($pic,0,0,0); //黑色

$color_3=imagecolorallocate($pic,194,194,194);//灰色

//绘制网格

imagesetthickness($pic,1); //网格线宽

$y_line_width=floor($width/100); //纵网格线数目

$y_line_density=$y_line_width==0 ? 0 :floor($width/$y_line_width); //纵网格线密度

$point_zero_y=$zero_y>$high ? $high : $zero_y;

imagestring($pic,1,$empty_size_x-1,$high+4,"0",$color_2); //零点数轴标记

for($i=1;$i<= $y_line_width;$i++){ //绘制纵网格线

imagesetthickness($pic,1); //网格线宽

imageline($pic,$y_line_density*$i+$empty_size_x,0,$y_line_density*$i+$empty_size_x,$high,$color_3);

imagesetthickness($pic,2); //轴点线宽

imageline($pic,$y_line_density*$i+$empty_size_x,$point_zero_y-4,$y_line_density*$i+$empty_size_x,$point_zero_y,$color_2);

imagestring($pic,1,10

www.bkjia.comtrueTechArticle先看下最终效果: 下面为PHP代码: /****************************** *折线图生成函数 ******************************/ functionline_stats_pic($value_y,$width,$high,$ str...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值