How to save a plot in Seaborn with Python [duplica

2019-04-06 06:18发布

This question already has an answer here:

I have a Pandas dataframe and try to save a plot in a png file. However, it seems that something doesn't work as it should. This is my 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")

And I have this error:

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

3条回答
Emotional °昔
2楼-- · 2019-04-06 07:10

You could save any seaborn figure like this.

Suppose If you want to create a violin plot to show the salary distribution gender wise. You could do it like this and will save it using the get_figure method.

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')
查看更多
何必那么认真
3楼-- · 2019-04-06 07:15

Use plt.savefig('yourTitle.png')

If you want to pass a variable:

plt.savefig("yourTitleDataSet{0}.png".format(dataset))
查看更多
我命由我不由天
4楼-- · 2019-04-06 07:21

You could use plt.savefig because your picture will come up when you'll call plt.show()

查看更多
登录 后发表回答