wordpress CMS主题 微信
Home > PHP开发 > 怎么通过PHP代码来生成数据的扇形比例图

怎么通过PHP代码来生成数据的扇形比例图

高时银博客 PHP开发 点击: 52 次 0 1
  • 标签:
  • 工作中,我们经常用形象化的扇形比例图来帮助我们来看报表之类的数据,可以很方便 地看出哪些地方做得好,哪些地方需要改进。网页中,有时候,我们也想体现出来,如:新设的培班有3个班,a1班18人,a2班25人,a3班10人,以扇形形式在网页上输出它们的比例。这时,我们就要用到PHP中的GD库。如何绘制扇形比例图呢?一起来看看吧。

    怎么通过PHP代码来生成数据的扇形比例图

    先创建一个PHP文件,如:index.php,在文件中先创建3个班的变量,并计算出它们的总人数。

    $a1 = 18;
    $a2 = 25;
    $a3 = 10;

    $count = $a1 + $a2 + $a3; //总人数

    接下来,计算出3个班在总人数中的比例,这里获取到它们的弧度:

    $a_1 = ($a1/$count)*360; //$a1班所占的弧度
    $a_2 = ($a2/$count)*360; //$a2班所占的弧度
    $a_3 = ($a3/$count)*360; //$a3班所占的弧度

    在页面上创建一个画图

    $im = imagecreatetruecolor(800,600);

    配置几种颜色

    $red = imagecolorallocate($im,100,110,0);//背景色
    $blue = imagecolorallocate($im,0,0,255); //蓝色
    $white = imagecolorallocate($im,255,255,255);//白色
    $black = imagecolorallocate($im,0,0,0);//黑色

    给画布添加背景色

    imagefill($im,0,0,$red);

    $a1班的扇形图,起始点0度,终点是$a1班的弧度

    imagefilledarc($im,400,300,400,400,0,$a_1,$white,4);

    $a2班弧度起始点是$a1班的终点,结束点是$a1班的终点+$a2班的弧度

    imagefilledarc($im,400,300,400,400,$a_1,$a_2+$a_1,$blue,4);

    $a3班的起始点是$a2班的终点【即 $a_2+$a_1】,终点是$a2班的终点 + $a3班的弧度

    imagefilledarc($im,400,300,400,400,$a_2+$a_1,$a_2+$a_1+$a_3,$black,4);

    在网页上输出画好的扇形比例图

    header('content-type:image/jpeg');//给网页头添加这句HTTP协议
    imagejpeg($im);//输出扇形比例图

    释放资源

    imagedestroy($im);

    代码写完了,保存好,在浏览器中打开这个文件,我们就可以网页上看到如上图的扇形比例图。这只是一个小小的案例,我们通过PHP的GD库还可以实现更加复杂的图形效果,大家可以自己去研究一下。


    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201707175465.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    1个评论 来自 “怎么通过PHP代码来生成数据的扇形比例图”

    1. 杭州建筑公司 回复 | 引用 Post:2017-07-18 at 16:24

      没玩过博客,学习啦!

    发表评论