Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

qual a funcao da variavel somaAltura

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;

nao entendi a variavel 'somaAltura', se o valor dela é 0 pq quando eu tiro ela do: "desenhaRetangulo(x, y + somaAltura, 50...." o grafico fica invertido

3 respostas
solução!

O valor dela é zero antes da primeira iteração, ou seja, a cada iteração(no laço for) o valor na variável altura

var altura = serie[i];

é somada na variável somaAltura , mais especificamente nessa linha:

somaAltura = somaAltura + altura;

Quando você remove a variável somaAltura do parâmetro do método desenhaRetangulo() o valor de y será sempre o mesmo, em todas as iterações, acredito que seja por isso que a reta y não seja desenhada.

Exatamente o que o Gabriel disse, a variavel somaAltura vai aumentando seu valor assim mudando o grafico.

somaAltura = somaAltura + altura;

Obrigado pela atenção Gabriel, mas pra mim, continua não fazendo sentido. Pode ser um pouco mais claro e óbvio?

A função soma a altura do que? Os valores declarados em serie2015 e serie2016 já não são suficientes para funcionar a barra? Porque não?