Home  >  Article  >  Backend Development  >  How to use php to create a line chart function

How to use php to create a line chart function

高洛峰
高洛峰Original
2016-12-02 11:20:531030browse

I’m glad that everyone has such a soft spot for PHP (as the current mainstream development language)!
The following will introduce to you the function of making line graphs in PHP (as the current mainstream development language):

/*
Function description
$data: y-axis data (array)
$graphdata: y-axis data--percentage ( Array)
$label: x-axis data (array)
$height: image height
$width: image width
$font: font size
$dot: determine the size of the point
$bg: background color
$line: line color
$text: Text color
$dotcolor: Dot color
$file: Output image file name
*/

function qximage($data,
$graphdata,
$label,
$height,
$width,
$font,
$dot,
$bg,
$line,
$text,
$dotcolor,
$file)
{
$jc=$height/100;
$fontwidth= imagefontwidth ($font);
$fontheight=imagefontheight ($font);

$image= imagecreate ($width,$height+20);
$bg= imagecolorallocate($image,$bg[0],$bg[1],$bg[2]);
$line=imagecolorallocate($image ,$line[0],$line[1],$line[2]);
$text=imagecolorallocate($image ,$text[0],$text[1],$text [2]);
$dotcolor=imagecolorallocate($image,$dotcolor[0],$dotcolor[1],$$dotcolor[2]);
imageline ($image,0,0,0,$height,$ line);
imageline($image,0,$height,$width,$height,$line);
for ($i=1;$i<11;$i++)
{
imagedashedline($image,0, $height - $jc*$i*10 ,$width ,$height -$jc*$i*10 ,$line );
imagestring ($image,$font,0,$height-$jc*$i*10 ,$i*10,$text);
}
for ($i=0;$i {
#echo $tmp."
";
$x1=(($width-50)/count($data) )*($i)+40;
#echo $x1 ."
";
$y1=$height-$graphdata[$i]*$jc;
$x2=$x1;
$y2=$y1+$ graphdata[$i]*$jc;
#echo $y1."
";
imagestring($image,$font,$x1,$y1-2*$fontheight,$graphdata[$i]."%(" .$data[$i].")",$text);
imagearc ($image,$x1 ,$y1,$dot,$dot,0,360,$dotcolor);
imagefilltoborder ($image,$x1,$ y1,$dotcolor,$dotcolor);
imagestring ($image,$font,$x1,$y2,$label[$i],$text);
if ($i>0)
{
imageline($image ,$tmpx1,$tmpy1,$x1,$y1,$line);
}
$tmpx1=$x1;$tmpy1=$y1;
}
imagegif ($image,$file);
}
?>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn