Matplotlib(pyplot)的savefig输出空白的图片。
Matplotlib(pyplot)的savefig输出空白的图片。
我正在尝试使用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也是同样的结果)。
admin 更改状态以发布 2023年5月24日
首先,当T0不为None
时会发生什么?我会进行测试,然后调整传递给plt.subplot()
的值;例如尝试值131、132和133,或者取决于T0
是否存在的值。
其次,在调用plt.show()
后,会创建一个新的图。为了处理这个问题,你可以
-
在调用
plt.show()
之前调用plt.savefig('tessstttyyy.png', dpi=100)
-
通过调用
plt.gcf()
来保存图像,然后在任何时候都可以调用savefig()
这个Figure
对象。
例如:
fig1 = plt.gcf() plt.show() plt.draw() fig1.savefig('tessstttyyy.png', dpi=100)
在你的代码中,'tesssttyyy.png'是空的,因为它保存了新的图,还没有绘制任何内容。