我正在尝试使用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)
%matplotlib inline
的jupyter
笔记本中,这种情况的一个特殊情况是:savefig
调用必须与绘图创建方法在同一单元格内。 - ijosephplt.show()
会生成一张新图片。确实,这解决了问题。 - user989762plt.ylabel()
这样的函数创建一个新的图形而不是应用于当前的图形(在这里发布),并且保存的图形是空白的。我绘制了一张图并在同一行中保存它(用分号隔开),它可以工作。这只是Spyder的问题吗? - TheSprinter