Segue abaixo o código que fiz com respectivos comentários.. se alguém tiver dúvida, só perguntar. Abraços ;)
<!--barras.html-->
<canvas width = "600" height = "400"> </canvas>
<script>
var tela = document.querySelector("canvas");//traz a tela para o "mundo" html
var pincel = tela.getContext("2d");//cria um pincel para poder desenhar
//vetor com cores do grafico
var cores = ["blue", "green", "yellow", "red"];
//vetor das series
var serie2015 = [50, 25, 20, 5];
var serie2016 = [65, 20, 13, 2];
//funcao que desenha um texto
function desenhaTexto(texto, x, y){
pincel.fillStyle = "black";
pincel.font = "18px Georgia";
pincel.fillText(texto, x, y);
}
//funcao que desenha uma barra com 4 retangulos
function desenhaBarra(x, y, serie, cores, texto){
desenhaTexto(texto, x, y - 10);
//variavel para posicionar os retangulos certinhos; inicialmente recebe o valor de y
var tamy = y;
//laco de repeticao para criar os 4 retangulos
for(var i = 0; i < 4; i++){
//atribuir ao pincel o valor da cor, conforme i++(o vetor tem 4 elementos, mas vai de 0 ate n-1)
pincel.fillStyle = cores[i];
pincel.fillRect(x, tamy, 50, serie[i]);//desenhar um retangulo
pincel.strokeRect(x, tamy, 50, serie[i]);//desenhar a borda
tamy += serie[i];//adiciona ao valor o tamanho da serie, para que o proximo retangulo comece do retangulo anterior
}
}
//chamada da funcao para desenhar as duas barras
desenhaBarra(50, 50, serie2015, cores, '2015');
desenhaBarra(150, 50, serie2016, cores, '2016');
</script>