Hola compañeros. Así hice mi desarrollo de barras de porcentajes de mercado de los navegadores de internet.
<meta charset="utf-8">
<canvas width="600" height="600"></canvas>
<script>
var fondo = document.querySelector("canvas");
var colorFondo = fondo.getContext("2d");
colorFondo.fillStyle = "lightgrey"; // fondo canvas
colorFondo.fillRect(0, 0, 600, 600);
function dibujarRectangulo(x, y, base, altura, color) {
var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d");
pincel.fillStyle = color;
pincel.fillRect(x, y, base, altura);
pincel.strokeStyle = "black";
pincel.strokeRect(x, y, base, altura);
}
function escribirTexto(x, y, texto) {
var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d");
pincel.font = "15px Arial";
pincel.fillStyle = "black";
pincel.fillText(texto, x, y);
}
function dibujarBarra(x, y, serie, colores, texto) {
escribirTexto(x, y - 25, texto);
for (let i = 0; i <= 5; i++) {
dibujarRectangulo(x, y, 150, serie[i] * 5, colores[i]);
y = y + parseInt(serie[i] * 5);
let y2 = y - (serie[i] * 2.5);
escribirTexto(x, y2, navegadores[i] + " " + serie[i] + " %");
}
}
var serie2009 = [6, 47, 41, 3, 3];
var serie2019 = [81, 9, 3, 3, 4];
var colores = ["lightblue", "lightgreen", "lightyellow", "red", "gray"];
var navegadores = ["Chrome", "Firefox", "Internet Explorer", "Safari", "Otros"]
dibujarBarra(50, 50, serie2009, colores, "2009");
dibujarBarra(250, 50, serie2019, colores, "2019");
</script>