PHP利用GD庫生成折線圖

如圖,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);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章