Estou tentando salvar plotagens feitas usando matplotlib; no entanto, as imagens são salvas em branco.
Aqui está o meu código:
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)
E tessstttyyy.png está em branco (também tentei com .jpg)
fonte
jupyter
cadernos com%matplotlib inline
habilitado: asavefig
chamada deve estar na mesma célula que o método de criação de plotagem.plt.show()
gera uma nova imagem. De fato, isso resolveu o problema.plt.show()
deve vir depoisplt.savefig()
Explicação:
plt.show()
limpa tudo, para que qualquer coisa depois aconteça em uma nova figura vaziafonte
plt.show()
limpa tudo, então qualquer coisa depois acontecerá em uma nova figura vazia.alterar a ordem das funções corrigiu o problema para mim:
como segue:
fonte
Chamar savefig antes de show () funcionou para mim.
fonte
vamos dar um exemplo mais detalhado:
fonte