5
respostas

[Bug] AttributeError: 'FacetGrid' object has no attribute 'set_title'

Acho que esteve havendo uma atualização no código do Seaborn: AttributeError: 'FacetGrid' object has no attribute 'set_title' aparece quando eu digitei exatamente ax.set_title('Box-plot da RENDA por SEXO e COR', fontsize=18) # Configurando o título do gráfico para o Boxplot da Renda por Sexo e Cor.

Também não funciona: ax.set_ylabel('Cor', fontsize=14) # Configurando o label do eixo Y.

5 respostas

Olá, Akhenaton! Tudo bom? Espero que sim!

Você pode chamar o .set_title() diretamente sobre o objeto do Boxplot:

sns.boxplot(...).set_title("escreva_um_titulo_aqui")

Ou você também pode seguir a instrução que foi passada nesse tópico, onde o gráfico é associado a uma variável do tipo axes e os parâmetros são alterados depois.

Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!

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

Akhenaton, tudo bem? No meu caso, solucionei esse problema assim:

** ax.figure.suptitle** ('Distribuição de Frequências - RENDA', fontsize=18, fontdict={"weight":"bold"})

Espero que tenha conseguido solução.

Marcos, tudo bem? Usei sua dica de usar boxsplot, fazendo claro, as devidas substituições, mas não deu certo não. Vou enviar abaixo o print do código para que possa dar uma olhada e ver aonde errei, por favor. Ah sim! O erro está no campo de label desta vez:

Tela de print do meu note no colab

Olá, pessoal! Feliz ano novo!

Tudo ótimo, Juliane. No caso acima, o Akhenaton aparentou manipular um gráfico de boxplot diretamente, então não estamos mais trabalhando com essa linha:

ax = sns.displot(...)

A ideia é utilizar

ax = sns.boxplot(...).set_title(...)

O código completo seria algo como:

import seaborn as sns
import matplotlib.pyplot as plt

ax = sns.boxplot(data = dados, x = 'Renda')
ax.set_title('Texto2', fontsize = 16)
ax.set(xlabel='xlabel qualquer', ylabel='ylabel qualquer')
plt.show()

Mas a solução com o suptitle também é perfeitamente viável, este também cria um título centralizado na parte superior

Se ainda tiverem alguma dúvida, basta abrir um novo tópico. Ótimos estudos e grande abraço!

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

Oi Marcus, tudo bem?

Super deu certo a solução que tú propôs, porém tive que excluir a definição de fontsize junto ao set_xlabel e deixar somente set (x_label = 'nome qualquer').

Tú sabe dizer o por que de haver essa diferença entre o que o professor passou e o que temos que fazer na prática?

Agradeço pela ajuda!