Canvas 画随机统计图

这篇博客介绍了如何使用JavaScript在HTML5 canvas上绘制矩形和随机统计图。首先,获取canvas元素并设置2D渲染上下文。接着,通过定义路径和stroke()方法绘制矩形。然后,使用fillRect()方法填充矩形,并通过循环和Math.random()生成随机高度,实现随机统计图。最后,通过改变fillStyle为随机颜色,使每个矩形颜色各异,提升图表的视觉效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开始两步依旧不变:

        var canvas = document.querySelector('canvas');

        var ctx = canvas.getContext('2d');

先学习画矩形,然后再画随机统计图:

        先定义一个x,y坐标图形

        ctx.beginPath();

        ctx.moveTo(100,100);

        ctx.lineTo(100,400);

        ctx.lineTo(400,400);

        ctx.stroke();

        ctx.closePath();

        先画一个矩形

        fillStyle = color; 来为它后面的fillRect着色,不能为前面已经画过的着色

        ctx.fillStyle = 'green';

        画矩形的属性 fillRect(x,y,width,hieght);它是从上往下画的

        ctx.fillRect(140,200,20,200);

然后我们开始画随机统计图

      ctx.fillRect(120,200,20,200);

        ctx.fillRect(160,200,20,200);

        ctx.fillRect(200,200,20,200);

        ctx.fillRect(240,200,20,200);

        ctx.fillRect(280,200,20,200);

        ctx.fillRect(320,200,20,200);

        ctx.fillRect(360,200,20,200);

是不是觉得很重复,那么重复的事情我们可以用循环来做

        for(var i = 0;i < 7;i++){

                var hieght = Math.random()*280+10;

                ctx.fillRect(120+40*i,200,20,height);

        }

然后在循环里面添加一个随机数 因为最高高度是三百,随机不能超过300

然后因为矩形是从上往下画的,这时候就有一个bug,最高高度不变,会显得很low

要解决这个bug,只要获得x,y的底线,然后减去随机数就行了

  for(var i = 0;i < 7;i++){

                var hieght = Math.random()*280+10;

                ctx.fillRect(120+40*i,400-height,20,200);

        }

为了随机统计图更加完美,我们还可以添加一个随机颜色

  for(var i = 0;i < 7;i++){

                var hieght = Math.random()*280+10;

                ctx.fillStyle = '#'+parseInt(Math.random()*0xffffff).toString(16);

                ctx.fillRect(120+40*i,400-height,20,200);

        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值