Я пытаюсь сохранить графики, которые я делаю, используя matplotlib; однако изображения сохраняются пустыми.
Вот мой код:
plt.subplot(121)
plt.imshow(dataStack, cmap=mpl.cm.bone)
plt.subplot(122)
y = copy.deepcopy(tumorStack)
y = np.ma.masked_where(y == 0, y)
plt.imshow(dataStack, cmap=mpl.cm.bone)
plt.imshow(y, cmap=mpl.cm.jet_r, interpolation='nearest')
if T0 is not None:
plt.subplot(123)
plt.imshow(T0, cmap=mpl.cm.bone)
#plt.subplot(124)
#Autozoom
#else:
#plt.subplot(124)
#Autozoom
plt.show()
plt.draw()
plt.savefig('tessstttyyy.png', dpi=100)
И tessstttyyy.png пуст (также пробовал с .jpg)
источник
jupyter
записных книжках с%matplotlib inline
включенным:savefig
вызов должен быть в той же ячейке, что и метод создания графика.plt.show()
генерирует новое изображение. Действительно, это решило проблему.plt.show()
должен прийти послеplt.savefig()
Пояснение:
plt.show()
очищает все, так что все, что потом произойдет на новой пустой фигуреисточник
plt.show()
очищает все это, так что все, что потом произойдет на новой пустой фигуре.изменить порядок функций исправил проблему для меня:
следующим образом:
источник
Вызов savefig перед show () работал для меня.
источник
позвольте мне привести более подробный пример:
источник