欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          學(xué)習(xí)PHP實現(xiàn)的曲線統(tǒng)計圖表示例

          學(xué)習(xí)PHP實現(xiàn)的曲線統(tǒng)計圖表示例

          本文實例講述了PHP實現(xiàn)的曲線統(tǒng)計圖表。分享給大家供大家參考,具體如下:

          <?php /****************************** *      折線圖生成函數(shù) *      youd *      090207-01 ******************************/ function line_stats_pic($value_y,$width,$high,$strong=1,$fix=0){ //y值處理函數(shù) 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; } //參數(shù)處理 $allnum=sizeof($value_y); $max_num=max($value_y);              //最大值 $min_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);                 //將數(shù)組指針歸零 $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);//灰色 //繪制網(wǎng)格 imagesetthickness($pic,1);          //網(wǎng)格線寬 $y_line_width=floor($width/100);       //縱網(wǎng)格線數(shù)目 $y_line_density=$y_line_width==0 ? 0 :floor($width/$y_line_width); //縱網(wǎng)格線密度 $point_zero_y=$zero_y > $high ? $high : $zero_y; imagestring($pic,1,$empty_size_x-1,$high+4,"0",$color_2); //零點數(shù)軸標記 for($i=1;$i <= $y_line_width;$i++){      //繪制縱網(wǎng)格線   imagesetthickness($pic,1);         //網(wǎng)格線寬   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,100*$i+$empty_size_x-5,$high+4,$allnum/$y_line_width*$i,$color_2);  //數(shù)軸標記 } $x_line_width=floor($high/30);        //橫網(wǎng)格線數(shù)目 $x_line_density=$x_line_width==0 ? 0 :floor($high/$y_line_width);  //橫網(wǎng)格線密度 if($zero_y > $high){             //繪制橫網(wǎng)格線   imagestring($pic,1,0,$high-3,round($min_num_add,$fix),$color_2); //零點數(shù)軸標記   for($i=1;$i <= $x_line_width;$i++){    imagesetthickness($pic,1);        //網(wǎng)格線寬    imageline($pic,0+$empty_size_x,$high-$x_line_density*$i,$width+$empty_size_x,$high-$x_line_density*$i,$color_3);    imagesetthickness($pic,2);        //軸點線寬    imageline($pic,0+$empty_size_x,$high-$x_line_density*$i,3+$empty_size_x,$high-$x_line_density*$i,$color_2);    imagestring($pic,1,0,$high-$x_line_density*$i-3,round($limit/$x_line_width*$i+$min_num_add,$fix),$color_2);  //數(shù)軸標記   } }else{   imagestring($pic,1,$empty_size_x-8,$zero_y,"0",$color_2); //零點數(shù)軸標記   for($i=1;$i <= ceil($x_line_width/2);$i++){    imagesetthickness($pic,1);        //網(wǎng)格線寬    imageline($pic,0+$empty_size_x,$zero_y-$x_line_density*$i,$width+$empty_size_x,$zero_y-$x_line_density*$i,$color_3);    if($zero_y+$x_line_density*$i < $high){     imageline($pic,0+$empty_size_x,$zero_y+$x_line_density*$i,$width+$empty_size_x,$zero_y+$x_line_density*$i,$color_3);    }    imagesetthickness($pic,2);        //軸點線寬    imageline($pic,0+$empty_size_x,$zero_y-$x_line_density*$i,3+$empty_size_x,$zero_y-$x_line_density*$i,$color_2);    if($zero_y+$x_line_density*$i < $high){     imageline($pic,0+$empty_size_x,$zero_y+$x_line_density*$i,3+$empty_size_x,$zero_y+$x_line_density*$i,$color_2);    }    imagestring($pic,1,0,$zero_y-$x_line_density*$i-3,round($limit/$x_line_width*$i,$fix),$color_2);   //數(shù)軸標記    if($zero_y+$x_line_density*$i < $high){     imagestring($pic,1,0,$zero_y+$x_line_density*$i-3,round(-$limit/$x_line_width*$i,$fix),$color_2);  //數(shù)軸標記    }   } } //繪制軸線 imagesetthickness($pic,2);          //軸線寬 imageline($pic,1+$empty_size_x,0,1+$empty_size_x,$high,$color_2); if($zero_y > $high){             //x軸位置   imageline($pic,0+$empty_size_x,$high,$width+$empty_size_x,$high,$color_2); }else{   imageline($pic,0+$empty_size_x,$zero_y,$width+$empty_size_x,$zero_y,$color_2); } //產(chǎn)生折線 $point_x=0; $j=0; imagesetthickness($pic,$strong);       //線條粗細 while($j+1 < $allnum){   imageline($pic,$point_x+2+$empty_size_x,$point_y[$j],$point_x+$x_pxdensity+2+$empty_size_x,$point_y[$j+1],$color_1);   $point_x+=$x_pxdensity;   $j++; } imagepng($pic); imagedestroy($pic); } /* 函數(shù)描述及例子 參數(shù)說明: $value_y -------- 包含你想生成折線圖的數(shù)組,要求鍵值從0開始遞增。 $width--------生成的折線圖的網(wǎng)格寬度(不算白邊) $high--------高度 $strong-------線條粗細(默認為1) $fix-------數(shù)據(jù)保留的位數(shù)(默認為取整) */ for($i=0;$i<100;$i++){     $value = rand(1,200);     $value_y[]=$value; } line_stats_pic($value_y,500,100,1,1); ?>

          運行結(jié)果如下:

          學(xué)習(xí)PHP實現(xiàn)的曲線統(tǒng)計圖表示例

          相關(guān)學(xué)習(xí)推薦:PHP編程從入門到精通

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號