web-dev-qa-db-fra.com

Comment enregistrer un tracé dans Seaborn avec Python

J'ai un Pandas dataframe et j'essaie d'enregistrer un tracé dans un fichier png. Cependant, il semble que quelque chose ne fonctionne pas comme il se doit. Voici mon code:

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

sns.set(style='ticks')

df = pandas.read_csv("this_is_my_csv_file.csv")
plot = sns.distplot(df[['my_column_to_plot']])
plot.savefig("myfig.png")

Et j'ai cette erreur:

AttributeError: 'AxesSubplot' object has no attribute 'savefig'
10
Tasos

Vous pouvez utiliser plt.savefig Car votre image s'affichera lorsque vous appellerez plt.show()

7
Anton Protopopov

Vous pourriez sauver n'importe quelle figure marine comme celle-ci.

Supposons que vous souhaitiez créer un tracé de violon pour afficher la répartition des salaires selon le sexe. Vous pouvez le faire comme ceci et l'enregistrer en utilisant la méthode get_figure.

ax = sns.violinplot(x="Gender", y="Salary", hue="Degree", data=job_data)
#Returns the :class:~matplotlib.figure.Figure instance the artist belongs to
fig = ax.get_figure()
fig.savefig('gender_salary.png')
16
Aman Tandon

Utilisez plt.savefig('yourTitle.png')

Si vous souhaitez transmettre une variable:

plt.savefig("yourTitleDataSet{0}.png".format(dataset))
1
galucero