Надежнее сохранить фигуру из объекта фигуры. В Python (и MATLAB в более поздних версиях) цифры представляют собой определенный тип данных. Функция pandas hist
возвращает оси или массив осей.
Если вы делаете одну ось, вы можете получить фигуру, используя свойство figure
, а затем вызвать savefig
из этого.
Так что-то подобное должно работать.
ax1 = housing.hist(bins=50, figsize=(20, 15))
ax1.figure.savefig('im/housing_hist.png')
Если вы делаете несколько осей, вы получите массив массивов numpy, который вы можете просто сплющить и получить первый элемент:
axs1 = housing.hist(bins=50, figsize=(20, 15))
axs1.ravel()[0].figure.savefig('im/housing_hist.png')
Редактировать: сделать это ясно, для второй цифры вы должны сделать:
ax2 = housing["income_cat"].hist()
ax2.figure.savefig('im/income_cat_hist.png')