console
let A = 50;
let B = 50;
let radius = 50;
let startAngle = 0.5 * Math.PI;
let whiteRound = 30;
function angleToRadius(num) {
let radius = (num / (A + B)) * 100;
let angle = 2 * Math.PI * radius / 100;
return angle
}
var myCanvas = document.querySelector("#canvas");
var ctx = myCanvas.getContext("2d");
ctx.beginPath();
ctx.moveTo(radius, radius);
ctx.arc(radius, radius, radius, startAngle, startAngle + angleToRadius(A), true);
ctx.fillStyle = "#00ff00";
ctx.fill();
ctx.beginPath();
ctx.moveTo(radius, radius);
ctx.arc(radius, radius, radius, startAngle + angleToRadius(A), startAngle, true);
ctx.fillStyle = "#ff0000";
ctx.fill();
ctx.beginPath();
ctx.arc(radius, radius, whiteRound, 0, 2 * Math.PI, true);
ctx.fillStyle = "#fff";
ctx.fill();
ctx.font = "12px serif";
ctx.fillStyle = "#000";
function cosFun(angle) {
let val = Math.cos(startAngle + (angle / 2)) * radius + 50;
return val;
}
function sinFun(angle) {
let val = Math.sin(startAngle + (angle / 2)) * radius + 50;
return val;
}
ctx.fillText(A + "%", cosFun(angleToRadius(A)), sinFun(angleToRadius(A)));
ctx.fillText(B + "%", cosFun(angleToRadius(B)), sinFun(angleToRadius(B)));
ctx.closePath();
<canvas id="canvas" height="100" width="100"></canvas>