me costo una hora resolverlo, pero pude! despues de muchos errores semánticos y elegí la iteración while porque se me hizo bonito :D
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>sin título</title>
<meta name="generator" content="Geany 1.36" />
</head>
<body>
<canvas width="600" height="400"></canvas>
<script>
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 Georgia";
pincel.fillStyle="black";
pincel.fillText(texto, x, y);
}
function dibujarBarra(x,y,serie, colores, texto){
cant=0; suma=0;
escribirTexto(x , y, texto);
while(cant<serie.length){
dibujarRectangulo(x,y+suma,50,serie[cant],colores[cant]);
dibujarRectangulo(x,y+suma,50,serie[cant],colores[cant]);
suma=suma+serie[cant]; //2 pude afectar el orden
cant=cant+1;
}
console.log(serie.length);
}
var serie2009 = [6, 47, 41, 3, 3];
var serie2019 = [81, 9, 3, 3, 4];
var colores = ["blue","green","yellow", "red","gray"];
//Aquí viene el texto faltante
dibujarBarra(50, 50, serie2009, colores, "2009");
dibujarBarra(150, 50, serie2019, colores, "2019");
</script>
</body>
</html>