<?php
if(empty($dataFile))
{echo"无数据文件!";}
else
{
$point=6;
$data_x=array();
$data_y=array();
$x=array();
$file=$dataFile;
$file_hander=fopen($file,"rb");
while(!feof($file_hander))
{
$buffer=fgets($file_hander);
array_push($x,$buffer);
}
for($i=0;$i<sizeof($x)-1;$i++)
{
$data=explode(" ",$x[$i]);
array_push($data_x,$data[0]);
array_push($data_y,substr($data[1],0,-2));
}
/*for($i=0;$i<sizof($data_x);$i++)
{
echo"[".$data_x[$i].",".$data_y[$i]."]<br>";
}*/
if(sizeof($data_x)==sizeof($data_y))//横纵坐标的个数相同
{
header("Content-type:image/png");
$imgWidth=600;$imgHeight=600;$cha=50;
$image=imagecreate($imgWidth+80,$imgHeight+80);
$colorWhite=imagecolorallocate($image,255,255,255);
$raxi=imagecolorallocate($image,255,0,0);//#ABA9A5
$raxi_o=imagecolorallocate($image,0,255,0);
$net=imagecolorallocate($image,153,204,255);//#99CCFF
$zuobiao=imagecolorallocate($image,255,153,0);//#FF9900
//分别求一下横纵坐标的最大最小值
$max_x=$min_x=$data_x[0];
$min_y=$max_y=$data_y[0];
for($i=1;$i<sizeof($data_x);$i++)
{
$max_x=$max_x>$data_x[$i]?$max_x:$data_x[$i];
$min_x=$min_x<$data_x[$i]?$min_x:$data_x[$i];
$max_y=$max_y>$data_y[$i]?$max_y:$data_y[$i];
$min_y=$min_y<$data_y[$i]?$min_y:$data_y[$i];
}
$num=20;
$bit_x=($max_x-$min_x)/$imgWidth;//X轴实际与显示的比例
$step_x=30*$bit_x;
$bit_y=($max_y-$min_y)/$imgHeight;//Y轴实际与显示的比例
$step_y=30*$bit_y;
/*for($i=0;$i<sizeof($data_x);$i++)
echo $data_x[$i]." ";*/
for($i=0;$i<=$num;$i++)//坐标轴
{
imageline($image,($i*30),($imgHeight),(30*($i+1)),($imgHeight),$raxi);//注意,只要画出20个方格即可,不需考虑数据
if($i%2==0)
imagestring($image,2,($i*30),$imgHeight+5,($min_x+$i*$step_x),$raxi_o);//X轴数据
else
imagestring($image,2,($i*30),$imgHeight+5,($min_x+$i*$step_x),$raxi);
imageline($image,0,$imgHeight-30*$i,0,$imgHeight-30*($i+1),$raxi);
if($i%2==0)
imagestring($image,2,10,$imgHeight-30*$i,($min_y+$i*$step_y),$raxi);
else
imagestring($image,2,10,$imgHeight-30*$i,($min_y+$i*$step_y),$raxi_o);
}
for($i=1;$i<=20;$i++)//垂线
{
imageline($image,30*$i,$imgHeight,30*$i,0,$net);
imageline($image,0,$imgHeight-30*$i,$imgWidth,$imgHeight-30*$i,$net);
}
for($i=0;$i<sizeof($data_x)-1;$i++)//画点与点之间的连线
{
imageline($image,($data_x[$i]-$min_x)/$bit_x,($imgHeight-($data_y[$i]-$min_y)/$bit_y),($data_x[$i+1]-$min_x)/$bit_x,($imgHeight-($data_y[$i+1]-$min_y)/$bit_y),$raxi);
}
for($i=0;$i<sizeof($data_x);$i++)
{
$show_thing="[".$data_x[$i].",".$data_y[$i]."]";
for($j=0;$j<$point;$j++)//画坐标点
imagearc($image,($data_x[$i]-$min_x)/$bit_x,($imgHeight-($data_y[$i]-$min_y)/$bit_y),$j,$j,0,360,$raxi);
imagestring($image,2,($data_x[$i]-$min_x)/$bit_x,($imgHeight-($data_y[$i]-$min_y)/$bit_y),$show_thing,$zuobiao);
}
imagepng($image);
imagedestroy($image);
}
else echo"横纵坐标的个数不同!请检查一下原文件!";
}
?>
- Output for git.master, git.master_jit, rfc.property-hooks
- 无数据文件!
This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.
Active branches
Archived branches
Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page
preferences:
42.08 ms | 401 KiB | 8 Q