我正在尝试保存使用 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)
原文由 tylerthemiler 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先,当
T0 is not None
时会发生什么?我会测试它,然后我会调整传递给plt.subplot()
的值;也许尝试值 131、132 和 133,或取决于T0
是否存在的值。其次,调用
plt.show()
后,创建一个新图形。为了解决这个问题,你可以在调用
plt.savefig('tessstttyyy.png', dpi=100)
之前调用plt.show()
将图形保存在您之前
show()
Figure
致电plt.gcf()
对于“获得当前图”,您可以致电savefig()
随时。例如:
在您的代码中,’tesssttyyy.png’ 是空白的,因为它正在保存新图形,没有绘制任何内容。