1
resposta

Recuperar valor pelo índice ''Gráfico de barras"

Quando ele diz ''vamos recuperar um valor da serie pelo índice'' ele usa a variável para recuperar um valor do array através do i? E no cores[i] ele está recuperando as cores da var cores?

var altura = serie[i]

cores[i]

segue o código da aula:

<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) {
        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, 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

Olá Rodrigo! Como você vai? Espero que esteja bem.

Obrigada pelo aguardo da resposta.

Sim. Ao criar a variável de inicialização i=0, ela será uma variável de controle do nosso for, e como a condição de parada é i < serie.lengthela irá assumir todos os índices do nosso array até o seu último elemento. Quanto utilizamos a notação serie[i], estamos acessando o elemento correspondente no nosso array onde está a nossa variável no momento exato dessa varredura.

Portanto, var altura = serie[i], o valor atribuído a variável altura será o elemento do nosso array na posição i.

Exemplo. :

var serie2015 = [50,25,20,5];
var altura= serie2015[2];
altura;
2

Espero ter ajudado! Abraços.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!