2016-01-12 4 views
6

У меня есть кадр данных Pandas и попробуйте сохранить сюжет в файле png. Однако, похоже, что-то не работает должным образом. Это мой код:Как сохранить участок в Сиборне с Python

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

И у меня есть эта ошибка:

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

ответ

3

Вы можете использовать plt.savefig потому, что ваша картина будет придумать, когда вы звоните plt.show()

+0

Действительно. Кажется, что работа. Я думал, что видел это в учебнике с именем переменной, а не с 'plt'. Спасибо – Tasos

+0

@Tasos может быть, что они сделали объект Figure, с 'fig = plt.Figure()'. Затем вы можете сохранить фигуру с помощью 'fig.savefig()' – Mathias711

+0

@ Mathias711 О да. Это имеет смысл. Я использовал несколько учебников, чтобы делать то, что я хотел, и, возможно, один из них был таким. – Tasos

0

Использование plt.savefig('yourTitle.png')

Если вы хотите передать переменную:

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

Вы можете сохранить любую морскую фигуру, как это.

Предположим, если вы хотите создать скрипичный сюжет, чтобы показать распределение зарплаты по полу. Вы можете сделать это так и сохранить его, используя метод 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') 
+0

Спасибо за исправление Tunaki :) –

Смежные вопросы