如何用php作线形图的函数
作者:Chloemw | 2021-08-28 20:13
如何用php作线形图的函数
很高兴大家对php(做为现在的主流开发语言)如此的情有独钟!
下面就给大家介绍php(做为现在的主流开发语言)作线形图的函数:
/*
函数说明
$data:y轴数据(数组)
$graphdata:y轴数据--百分比(数组)
$label:x轴数据(数组)
$height:图像高度
$width:图像宽度
$font:字号
$dot:决定点的大小
$bg:背景色
$line :线色
$text :文本色
$dotcolor:点色
$file:输出图像文件名
*/
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);
}
?>
推荐阅读
-
如何解决《Div不知道屏幕大小调整》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《不能欺骗sudo;报告说有效的uid是非零的》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《命令行"java-version"会将结果发送到stdOut或stdErr吗?》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《100位浮点蟒蛇》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《即使双击按钮,VoiceOver也会读取标签》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何在主机名中的'-'后提取4个字符》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《PythonRSA加密》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《当printf10colums和10行时,如何获取所有数组编号?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何在browserify中使用exclude?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《多个变量Javascriptmap()回调》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《将一个JSON数组转换为一个对象》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何在Rmarkdown编译时跳过错误检查?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《在两个方向的熊猫栏中填充NaN》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《Swift-Instagram如何做到这一点?》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《添加conda到鱼的路径》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《在webpack文件的顶部添加注释》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何在不从第一项开始的情况下打印整个列表》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《应用程序在iPad上运行时,Xcode7错误消息"__connection_block_invoke_2中的错误:连接中断"》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《外部CSS样式表未加载》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何在PHP字符串中替换表意空间?》经验,为你挑选了0个好方法。 ...
[详细]