Enregistrer Seaborn Figure en Python

Manav Narula 9 mai 2021
Enregistrer Seaborn Figure en Python

Dans ce didacticiel, nous expliquerons comment enregistrer une figure Seaborn dans un fichier externe.

Nous utiliserons la fonction matplotlib.pyplot.savefig(), qui pourra l’exporter vers un fichier externe.

Nous devons spécifier le nom du fichier avec son format et le chemin du fichier dans la fonction elle-même.

Par example,

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")

Nous pouvons spécifier d’autres formats de fichiers comme jpeg, png, etc. Nous pouvons également enregistrer le tracé dans des formats non image tels que PDF.

Nous pouvons également personnaliser la figure finale en utilisant différents arguments.

Par exemple, nous pouvons spécifier l’argument dpi dans la fonction. Le dpi signifie points par pouce, donc une valeur plus élevée se traduira par une résolution plus élevée de l’image finale.

Par example,

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)

Si on veut, on peut changer l’orientation en utilisant le paramètre orientation. L’orientation est portrait par défaut.

Dans le code ci-dessous, nous enregistrons la figure finale en orientation paysage.

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")

Les autres arguments disponibles sont transparent, frameon, facecolor, edgecolor fournissent plus de personnalisations pour la figure finale exportée.

Notez que pour les versions récentes de seaborn, l’utilisation directe de la fonction savefig() peut produire des erreurs sur certains tracés. Pour de tels cas, nous devrions également utiliser la fonction get_figure(). Cette fonction récupère l’instance de la figure souhaitée, et nous pouvons ensuite l’exporter en utilisant la fonction savefig().

Le code suivant illustre cela.

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")
Auteur: Manav Narula
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