canvas 环形饼状图_canvas-圆的绘制

本文介绍了如何使用canvas来创建环形饼状图,强调了画圆的基本步骤,包括确定圆心、起点、路径和终点,是数据可视化的实用技巧。
摘要由CSDN通过智能技术生成

圆可以在数据可视化中作为饼状图基础图形,也是在canvas中必不可少的图形

语法:
ctx.arc(x, y, radius, startAngle, endAngle, Boolean)
圆心坐标: (x, y)
半径: radius
起始角度: startAngle
结束角度: endAngle
是否逆时针旋转: false 代表顺时针旋转
// 开始绘制路径
ctx.beginPath();
ctx.lineWidth = 2;
ctx.strokeStyle = 'red';
// 绘制圆的路径**
ctx.arc(100, 100, 50, 0, Math.PI * 2, false);

// 0°是从三点钟方向开始的

// 描边路径
ctx.stroke();

b2353a1c51b0ed5a7497bd0e07bb4f39.png

画圆就是如此简单~

了解圆的方向

ctx.beginPath();
ctx.strokeStyle = 'blue';

ctx.translate(250, 250);
// 顺时针
ctx.arc(0, 0, 100, 0, 2 * Math.PI / 4 * 3);
// 是否闭合路径 : 闭合路径后起点与终点会连接
// ctx.closePath();
ctx.stroke();

ctx.font = '16px bold';
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.fillText('0°', 120, 0);
ctx.fillText('90°', 0, 120);
ctx.fillText('180°', -120, 0);
ctx.fillText('270°', 0, -120);

6d3af250a3fe17c769dab7b289e1c82e.png

v2-98a2e64a544c5cf1287ee5ef8a6aa855_b.gif

再来个圆~

步骤:

  1. 先画中心点的圆
  2. 再画起始点的圆
  3. 在画圆的路径
  4. 最后画上结束点的圆

eed310003c01ef62b9547b739902740f.png
var draw = document.getElementById('draw');
// 2D上下文 : 可会知简单的2D图形,矩形 弧形 路径
var ctx = draw.getContext('2d');

// 重新初始化一下画布
function initCtx() {
    // 清除画布
    ctx.clearRect(0, 0, 500, 500);

    ctx.strokeStyle = '#333';
    ctx.lineWidth = 1;
    // 通过for, 循环执行画线动作
    for (var i = 0; i <= 10; i++) {
        // 开始绘制路径
        ctx.beginPath();

        // (列)
        // 路径的起点 (下笔) 
        ctx.moveTo(i * 50, 0);
        // 路径的终点 (提笔)
        ctx.lineTo(i * 50, 500);
        // (行)
        // 路径的起点 (下笔) 
        ctx.moveTo(0, i * 50);
        // 路径的终点 (提笔)
        ctx.lineTo(500, i * 50);
// 关闭路径
        ctx.closePath();
        // 描边路径
        ctx.stroke();
        
    }

}

// 初始化
initCtx();

// 开始画x轴,y轴
ctx.beginPath();
ctx.strokeStyle = 'orange';
ctx.lineWidth = 4;
ctx.moveTo(50, 250);
ctx.lineTo(450, 250);
ctx.fillText('X', 50, 240);

ctx.moveTo(250, 50);
ctx.lineTo(250, 450);
ctx.fillText('Y', 250, 40);

ctx.stroke();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值