2
respostas

Complicado, mas saiu

<meta charset="utf-8">
<canvas width="600" height="400"></canvas>

<script>
    var tela = document.querySelector("canvas");
    var pincel = tela.getContext("2d");

    pincel.fillStyle = "lightgreen"
    pincel.fillRect(0, 0, 600, 400);
    pincel.strokeStyle = "dark blue";
    pincel.strokeRect(0, 0, 600, 400);

    function kbca(texto, x, y) {
        pincel.font='35px Arial';
        pincel.fillStyle='black';
        pincel.textAlign = "center";
        pincel.fillText("Grafico Navegadores Utilizados", 300, 60);
    }

    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) {
        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

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

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

        desenhaTexto(x + 10, y - 10, texto);

        var alturaInicial = 0;
        for (var i = 0; i < serie.length; i++) {

            var altura = serie[i];
            desenhaRetangulo(x, y + alturaInicial, 60, altura, cores[i]);
            alturaInicial = alturaInicial + altura;
        }
    }

    function legenda(x, y, cores, nav) {

        var somaLeg = 0;
        for (var i = 0; i < cores.length; i++) {

            desenhaRetangulo(x, y + somaLeg, 15, 15, cores[i]);
            somaLeg = somaLeg + 27;
        }

        var somaLeg = 0;
        for (var i = 0; i < nav.length; i++) {

            desenhaTexto(x + 20, y + somaLeg + 14, nav[i]);
            somaLeg = somaLeg + 27;
        }
    }

var cores = ['blue', 'green', 'yellow', 'red'];
var serie2015 = [50, 25, 20, 5];
var serie2016 = [65, 20, 13, 2];
var nav = ["Chrome", "Firefox", "Safari", "Outros"];

desenhaBarra(170, 150, serie2015, cores, '2015');
desenhaBarra(270, 150, serie2016, cores, '2016');
legenda(410, 150, cores, nav);
kbca();

</script>

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

2 respostas

boa rapaz!

Gostei da resolução ainda mais com legendas

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software