2
respostas

erro 'FacetGrid' object has no attribute 'get_figure'

Estou utilizando o Jupyter nesse curso. Quando tento visualizar o gráfico salvo utilizando o comando .get_figure(), a mensagem "'FacetGrid' object has no attribute 'get_figure'" aparece. O mesmo ocorre quando sigo as intruções odo curso para modificar o subtítulo. Mas funcionou ao troca o comando por ".fig.suptitle('Valor da conta x Gorjeta')". Como resolvo o problema para visualizar meu gráfico modificado?

2 respostas

Olá Ian! Como você está?

Peço desculpas pela demora em dar um retorno.

Normalmente esse erro ocorre porque gráficos do tipo "FacetGrid" (relplot, lmplot, catplot) e figuras desse tipo, não possuem o método get_figure().

O professor utiliza esse método para plotar os gráficos e para salvar as figuras. No entanto, como os gráficos do tipo FacetGrid não possuem o get_figure, para salvar uma figura você pode fazer o seguinte, por exemplo:

porcentagem_conta_linha = sns.relplot(
    data = gorjetas,
    x = 'valor_da_conta',
    y = 'porcentagem',
    kind = 'line'
)
porcentagem_conta_linha.savefig('porcentagem_conta_linha.png')

E para apenas visualizar os gráficos no seu notebook, você não deve mais obrigatoriamente ter que utilizar o método get_figure(), você pode apenas criar a figura que ela já deve ser plotada. Exemplo:

Imagem do gráfico primeiro_plot. Esse é um gráfico de dispersão "scatterplot" com pontinhos azuis

De todo modo, não consegui entender muito bem qual parte do seu código está gerando esse erro. Você poderia enviar o código que está gerando esse erro, por favor? Assim, consigo te ajudar de uma forma mais precisa :)

Aguardo seu retorno ^^

Bons estudos!

Olá Milena, Bom tarde!

Tudo bem ?

Em vez de utilizar a função get.figure() , utilize direto a função savefig().

Assim não aparecerá o erro e a imagem será salva normalmente.

então tente:

primeiro_plot.savefig("imagem.png")

espero ter ajudado.

atenciosamente.