我正在尝试保存使用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)
首先,什么时候发生T0 is not None?我会测试一下,然后再调整传递给的值plt.subplot();可以尝试输入值131、132和133,或者取决于是否T0存在的值。
T0 is not None
plt.subplot()
T0
其次,在plt.show()调用之后,创建一个新图形。为了解决这个问题,您可以
plt.show()
致电plt.savefig('tessstttyyy.png', dpi=100)之前致电plt.show()
plt.savefig('tessstttyyy.png', dpi=100)
show()通过调用plt.gcf()“获取当前图形”来保存图形,然后可以随时调用savefig()此Figure对象。
show()
plt.gcf()
savefig()
Figure
例如:
fig1 = plt.gcf() plt.show() plt.draw() fig1.savefig('tessstttyyy.png', dpi=100)
在您的代码中,“ tesssttyyy.png”为空白,因为它保存的是新图形,该图形上没有任何内容。