JSFiddle - React, Tailwind, and code Playground

HTML

<canvas id="canvas" width="320" height="240"></canvas>

JavaScript

var ctx = document.getElementById('canvas').getContext('2d');
ctx.translate(120, 120);
//drawNumbers(ctx, 50);
drawNumbers(ctx, 100);
function drawNumbers(ctx, radius) {
    var ang;
    var num;
    ctx.font = radius * 0.15 + "px arial";
    ctx.textBaseline = "middle";
    ctx.textAlign = "center";
    for (num = 1; num < 13; num++) {
        ang = num * Math.PI / 6;
        ctx.rotate(ang);//畫布順時針轉(30*num)度
        ctx.translate(0, -radius * 0.85);//沿y軸向上移動radius乘以0.85的距離
        ctx.rotate(-ang);//轉回來,這樣待會畫的字才會垂直
        ctx.fillText(num.toString(), 0, 0);
        ctx.rotate(ang);//畫布順時針轉(30*num)度
        ctx.translate(0, radius * 0.85);//沿y軸向下移動radius乘以0.85的距離
        ctx.rotate(-ang);//轉回來,這樣就回到圓心的位置,角度也恢復
    }
}