Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problema ao gerar gráficos

Pessoal, alguém pode me ajudar onde está o erro?

<canvas width = '600' height="400"></canvas>

<script>

    function desenhaRetangulo(x,y,largura,altura,cor){

        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.fillStyle = cor;
        pincel.fillRect(x,y,largura,altura);
        pincel.strokeStyle = 'black';
        pincel.StrokeRect(x,y,largura,altura);
    }

    function desenhaTexto(x,y,texto,cor){

        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.font = '15px Georgia';
        pincel.fillStyle = cor;
        pincel.fillText(texto,x,y);
    }

    function desenhaBarra(x,y,serie,cores,texto){

        desenhaTexto(x,y-10,texto);

        var somaAltura = 0;

        for (var i=0; i<serie.length; i++){
            var altura = serie[i];
            desenhaRetangulo(x,y + somaAltura,50,altura,cores[i]);
            somaAltura = somaAltura + altura;
        }

    }


    var cores = ['blue','green','yellow', 'red'];
    var serie2015 = [50,25,20,5];
    var serie2016 = [65,20,13,2];


    desenhaBarra(50, 50, serie2015, cores, '2015');
    desenhaBarra(150, 50, serie2016, cores, '2016');
</script>
1 resposta
solução!

Bom dia Alexandre, tudo bom?

geralmente, quando temos algum erro dentro do código, ou ele não se comporta da maneira que esperamos, olhamos dentro do inspetor do browser para verificar se existe alguma mensagem de erro.

Para abrir o console clique com o botão direito na página e selecione inspecionar ou use o atalho Ctrl+Shift+i.

Se você fizer isso vai ver o erro:

 teste.html:13 Uncaught TypeError: pincel.StrokeRect is not a function
    at desenhaRetangulo (teste.html:13)
    at desenhaBarra (teste.html:34)
    at teste.html:46

esse erro aponta que na linha 13 do seu código ele não está reconhecendo o método StrokeRect. Isso porque esse "S" de stroke deve ser minúsculo.