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

Meu TÍTULO não roda

Meu gráfico rodou bem!! Mas o título não aparece. Comparei com o resultado do professor, mas não vi onde errei. Alguém poderia me ajudar a identificar o erro? Segue meu código:

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

<script>

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

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

    pincel.fillStyle = cor;
    pincel.fillRect(x, y, largura, altura);
    pincel.fillStroke = "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);
}

var serie2015 = [50, 25, 20, 5];
var serie2016 = [65, 20, 13, 2];

var cores = ["blue", "green", "yellow", "red"];

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;
    }


}

desenhaBarra(50, 50, serie2015, cores, "2015");
desenhaBarra(150, 50, serie2016, cores, "2016");

</script>

As partes do código que tratam do texto são:

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);
}

e também:

desenhaTexto(x, y - 10, texto);

e no final:

desenhaBarra(50, 50, serie2015, cores, "2015");
desenhaBarra(150, 50, serie2016, cores, "2016");

Agradeço quem puder me corrigir :)

1 resposta
solução!

Olá Cailane, o sinal de igual que est em pincel.fillText não ´deve estar lá, basta tira-lo e o desenhaTexto(x, y - 10, texto que está junto ao desenha barra no final do código também precisa ser removido. aqui está o codigo, bons estudos.

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

<script>

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

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

    pincel.fillStyle = cor;
    pincel.fillRect(x, y, largura, altura);
    pincel.fillStroke = "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); // retirar o sinal de igual
}

var serie2015 = [50, 25, 20, 5];
var serie2016 = [65, 20, 13, 2];

var cores = ["blue", "green", "yellow", "red"];

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;
    }


}

desenhaBarra(50, 50, serie2015, cores, "2015");
desenhaBarra(150, 50, serie2016, cores, "2016");

</script>