美文网首页
canvas Five 饼图

canvas Five 饼图

作者: 尤樊容 | 来源:发表于2017-04-12 11:12 被阅读26次

前面几节的链接:http://www.jianshu.com/u/ab8f021be9ee
需要大家的支持,接着canvas画饼图,有图有代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{margin:0;padding:0;}
        html,body{
            height: 100%;
            overflow: hidden;
        }
        body{
            background: #000;
        }
        #c1{
            background: #fff;
        }
    </style>
    <script>
        function d2a(n){
            return n*Math.PI/180;
        }
        function rnd(m,n){
            return parseInt(m+Math.random()*(n-m));
        }
        document.addEventListener('DOMContentLoaded',function(){
            var oC = document.getElementById('c1');
            var gd = oC.getContext('2d');
            var cx = 200;
            var cy = 200;
            var r = 100;
            var arr = [98,80,65,34,12];
            var sum = 0;
            //求和
            for(var i = 0;i<arr.length;i++){
                sum+=arr[i];
            }
            //算比例
            var aDeg = [];
            for(var i = 0;i<arr.length;i++) {
                aDeg[i] = arr[i]/sum*360;
            }
            //画每一部分
            var d = 0;
            for(var i = 0;i<aDeg.length;i++){
                drawPie(d,d+aDeg[i]);//aDeg 0
                d+=aDeg[i];
            }
            function drawPie(start,end){
                gd.beginPath();
                gd.fillStyle ='rgb('+rnd(0,256)+','+rnd(0,256)+','+rnd(0,256)+')';
                gd.moveTo(cx,cy);
                gd.arc(cx,cy,r,d2a(start),d2a(end),false);
                gd.closePath();
                gd.fill();
            }
        },false);
    </script>
</head>
<body>
<canvas id="c1" width="800" height="600"></canvas>
</body>
</html>

效果图:

Paste_Image.png

相关文章

  • canvas Five 饼图

    前面几节的链接:http://www.jianshu.com/u/ab8f021be9ee需要大家的支持,接着ca...

  • canvas饼图

  • Canvas 饼图与动效

    2016-06-24 用 Canvas 绘制一个饼图且实现动效。涉及:canvas 基本 api, request...

  • SVG绘制环图

    上篇<原生Canvas绘制饼图>介绍了如何使用Canvas来绘制环图,这篇用SVG标签来实现一下。 上面是完整效果...

  • canvas绘制饼图

    使用javaScript的canvas绘制简单的饼图还是比较容易的,实现的效果图如下所示: 其实现原理就是根据扇形...

  • 浅析HTML5的Canvas——案例绘制

    1. Canvas绘制五环 2.Canvas绘制饼状图以及绘制文字 3. Canvas绘制一堆不断变大变小的随机移...

  • canvas图表(3) - 饼图

      原文地址:canvas图表(3) - 饼图  这几天把canvas图表都优化了下,动画效果更加出色了,可以说很...

  • 微信小程序图表插件(wx-charts)

    微信小程序图表插件(wx-charts)基于canvas绘制,体积小巧支持图表类型饼图、线图、柱状图 、区域图等图...

  • canvas-饼状图

  • Android Canvas绘制饼图

    近期学习到Android的Canvas绘制饼图,特此记录下来防止以后忘记。感谢抛物线老师的无私奉献精神。 这是完成...

网友评论

      本文标题:canvas Five 饼图

      本文链接:https://www.haomeiwen.com/subject/gqzpattx.html