如圖,PHPGD庫生成折線圖;
這裏只說原理,至於優化界面,封裝數據方法,可自行拆分優化
<?php
// 1.創建畫布
$width = 600;
$height= 400;
$image=imagecreatetruecolor($width,$height);
$red = imagecolorallocate($image, 45, 56, 12);
$fff = imagecolorallocate($image, 255, 255, 255);
imagefill($image,0,0,$red);
// x軸
imageline($image,0,399,599,399,$fff);
// y軸
imageline($image,0,399,0,0,$fff);
//X軸單位
for($i=0;$i<10;$i++){
$num = $i * 6 *10;
imageline($image,$num,399,$num,395,$fff);
}
//y軸單位
for($i=0;$i<10;$i++){
$num = $height -($i * 4 *10);
imageline($image,0,$num,5,$num,$fff);
}
// 描點
for($i=0;$i<10;$i++){
if($i > 0){
$prenum = $num ;
$preynum = $ynum ;
}
$num = $i * 6 *10;
$ynum = rand(0,$height);
imagesetpixel($image, $num , $ynum ,$fff);
// 設置值
$str = (string)($height - $ynum);
if($ynum < $preynum){
imagestring($image,4,$num,$ynum-20,$str,$fff);
}else{
imagestring($image,4,$num,$ynum+20,$str,$fff);
}
// imagechar($im, 5, 0, 0, $string, $black);
// 連線
// var_dump($str);
if($i > 0){
imageline($image,$prenum,$preynum,$num,$ynum,$fff);
}
}
// imageline($image,rand(0,500),rand(0,300),rand(0,500),rand(0,300),create_color($image));
// 4.輸出或保存
header('content-type:image/jpg');
imagejpeg($image);
imagedestroy($image);