canvas--柱状图

柱状图

<body>

    <style>

        #box {

            border: 1px solid black;

        }

    </style>

    <canvas id="box" width="600" height="600"></canvas>

    <script>

        var canvas = document.querySelector("#box")

        var pen = canvas.getContext("2d")

        // pen.rect(200,200,100,300)

        // // pen.stroke()//画出线条,对于封闭图形,可以不用这个语句,用fill填充

        // pen.fillStyle="red"

        // pen.fill()//默认颜色黑色

        //假数据

        arr = [1990, 7504, 4807, 3024, 9675, 1400, 2699, 7463]

        var x = 40

        function drow() {

            pen.beginPath()

            pen.moveTo(20, 500)

            pen.lineTo(580, 500)

            pen.stroke()

        //画柱状图

            for (let i = 0; i < arr.length; i++) {

                var y = arr[i] / 20

                pen.beginPath(x + (i * 80), 500 - y)

                pen.rect(x + (i * 80), 500 - y, 50, y)

                var r = parseInt(Math.random() * 255)

                var g = parseInt(Math.random() * 255)

                var b = parseInt(Math.random() * 255)

                //给柱状图加随机颜色

                pen.fillStyle = `rgb(${r},${g},${b})`

                pen.fill()

            }

        }

        //添加计时器,将柱状图向左移动

        setInterval(function () {

            canvas.width = 600

            x -= 20

            drow()

        }, 300)

        //添加计时器,定时向数组中添加10000-1000的随加数

        setInterval(function () {

            var add = Math.random() * ((10000 - 1000) + 1000)

            arr.push(add)

        }, 1000)

    </script>

</body>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值