Salve a figura do Seaborn em Python

Manav Narula 24 junho 2021
Salve a figura do Seaborn em Python

Neste tutorial, discutiremos como salvar uma figura do mar em um arquivo externo.

Usaremos a função matplotlib.pyplot.savefig(), que pode exportá-lo para um arquivo externo.

Precisamos especificar o nome do arquivo junto com seu formato e o caminho do arquivo na própria função.

Por exemplo,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)

sns.lineplot(data=df)
plt.savefig("filename.png")

Podemos especificar outros formatos de arquivo como jpeg, png e mais. Também podemos salvar o gráfico em formatos que não sejam de imagem, como PDF.

Também podemos personalizar a figura final usando diferentes argumentos.

Por exemplo, podemos especificar o argumento dpi na função. O dpi significa pontos por polegada, portanto, um valor mais alto resultará em uma resolução mais alta da imagem final.

Por exemplo,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)

sns.lineplot(data=df)
plt.savefig("filename.png", dpi=300)

Se quisermos, podemos mudar a orientação usando o parâmetro orientation. A orientação é ‘retrato’ por padrão.

No código abaixo, salvamos a figura final na orientação paisagem.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)

sns.lineplot(data=df)
plt.savefig("filename.png", orientation="horizontal")

Outros argumentos disponíveis são transparent, frameon, facecolor, edgecolor fornecem mais personalizações para a figura exportada final.

Observe que, para versões recentes do seaborn, usar diretamente a função savefig() pode produzir erros em alguns gráficos. Para tais casos, devemos usar a função get_figure() também. Esta função obtém a instância da figura necessária e podemos exportá-la usando a função savefig().

O código a seguir demonstra isso.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)

splot = sns.lineplot(data=df)
sfig = splot.get_figure()
sfig.savefig("filename.png", orientation="landscape")
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn