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

Problemas com plt.title() e outras variaveis de texto

Dei uma olhada aqui e o Sandro teve um problema parecido, a sugestão lá foi que alguma variavel estava sobrescrita e que se reiniciasse o colab para ver se destravava. Tentei, mas não resolveu o caso que segue:

Meu código é esse:

import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8,9,10]
y = alunos

plt.plot(x,y,marker='o')
plt.title('Notas da turma')
plt.xlabel('Avaliações')
plt.ylabel('Notas')
plt.show()

Fiz uma lista diferente com mais alunos, mas não é problema, já testei com outra lista simples e tenho o mesmo erro. Além disso sem o trecho que define titulo e labels ele roda sem erros.

plt.title('Notas da turma')
plt.xlabel('Avaliações')
plt.ylabel('Notas')

Parece que o problema está aqui. Estranho não? O erro que recebo é esse:

TypeError                                 Traceback (most recent call last)
<ipython-input-38-251518840ab1> in <module>
      4 
      5 plt.plot(x,y,marker='o')
----> 6 plt.title('Notas da turma')
      7 plt.xlabel('Avaliações')
      8 plt.ylabel('Notas')

TypeError: 'str' object is not callable

E o resultado grafico esse aqui: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Olá Daniel, tudo bem ? Espero que sim.

Consegui reproduzir o mesmo erro rodando o código abaixo:

plt.title = 'Notas da turma'

Nesse código eu atribui ao método title o valor de uma string, então quando rodamos o código.

import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8,9,10]
y = notas_matematica

plt.plot(x,y,marker='o')
plt.title('Notas da turma')
plt.xlabel('Avaliações')
plt.ylabel('Notas')
plt.show()

Recebemos o erro:

TypeError                                 Traceback (most recent call last)
<ipython-input-16-dcaf5acd38a0> in <module>
      4 
      5 plt.plot(x,y,marker='o')
----> 6 plt.title('Notas da turma')
      7 plt.xlabel('Avaliações')
      8 plt.ylabel('Notas')

TypeError: 'str' object is not callable

Isso porque depois que sobrescrevemos o método title para uma string, ele não aceita mais ser "chamado", que é quando colocamos os parênteses.

Para resolver isso precisamos encontrar o trecho do código no notebook que tenha essa atribuição plt.title = e apagar ele.

E depois reiniciar o notebook para importar o matplotlib do zero.

Espero ter ajudado e qualquer duvida não hesite em perguntar.

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

Olá Igor,

Me ajudou muito. De quebra aprendi a reiniciar o notebook do colab. Pra garantir que os exercícios anteiores não tinham nada de errado que pudesse atrapalhar rodei como na figura diante incorporando o código de geração de lista anteior na mesma aba/instancia do plotador de gráfico. Novamente obrigado.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade