J'essaye de sauvegarder les parcelles que je crée en utilisant matplotlib; cependant, les images restent vierges.
Voici mon code:
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)
Et tessstttyyy.png est vide (également essayé avec .jpg)
la source
jupyter
notebooks avec%matplotlib inline
enabled: l'savefig
appel doit être dans la même cellule que la méthode de création de tracé.plt.show()
génère une nouvelle image. En effet, cela a résolu le problème.plt.show()
devrait venir aprèsplt.savefig()
Explication:
plt.show()
efface le tout, donc tout se passera ensuite sur une nouvelle figure videla source
plt.show()
efface le tout, donc tout se passera ensuite sur une nouvelle figure vide.changer l'ordre des fonctions a résolu le problème pour moi:
comme suit:
la source
L'appel de savefig avant show () a fonctionné pour moi.
la source
laissez-moi vous donner un exemple plus détaillé:
la source