• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > PHP开发 > 怎么通过PHP代码来生成数据的扇形比例图

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

    作者: 分类:PHP开发 点击: 1,842 次
    wordpress CMS主题:ssmay主题

      工作中,我们经常用形象化的扇形比例图来帮助我们来看报表之类的数据,可以很方便 地看出哪些地方做得好,哪些地方需要改进。网页中,有时候,我们也想体现出来,如:新设的培班有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库还可以实现更加复杂的图形效果,大家可以自己去研究一下。



      QQ二维码

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

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    2条回应:“怎么通过PHP代码来生成数据的扇形比例图”

    1. steam说道:

      我们就要用到PHP中的GD库

    2. 没玩过博客,学习啦!

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.