我已经浏览了“可能已经有您答案的问题”,但是如果有...我没有理解它。
我试图尽可能简化我的问题,并将其简化为以下代码(抱歉-我相信在得到所有40的numpy数组时有更优雅的方法,但这是我敲打头部后想出的...):
我尝试过不使用show()或将show()调用作为第二步进行,因为这里(以及其他地方)的一些问题和答案似乎暗示了调用顺序可能是问题所在。
我已经将代码中的其他图像(相同数据的直方图)另存为jpg格式,所以我知道这台计算机可以保存为jpg格式。
我不确定我在savefig方面做错了什么,有什么建议吗?
谢谢!
我试图尽可能简化我的问题,并将其简化为以下代码(抱歉-我相信在得到所有40的numpy数组时有更优雅的方法,但这是我敲打头部后想出的...):
import numpy
import matplotlib.pyplot as plt
x=numpy.zeros((500,256))
x+=40
plt.title("Title")
plt.xlabel("Label")
plt.ylabel("Label")
plt.imshow(x,vmin=37.5,vmax=42.5, cmap='spectral')
#save the figure
filename="/xxx/yyy/matplotlibtest.jpg"
plt.savefig(filename)
plt.show()
plt.close()
plt.savefig()返回一个非常好的图片,有标签、轴和没有图形(即,矩形为空白)。
plt.show()展示了我所有上述内容,并在我的轴之间放置了一个漂亮的绿色矩形,就像应该的那样。我可以手动保存这个图像到同一个目录中,并得到我期望的结果(即,轴、标签、绿色矩形)。我尝试过不使用show()或将show()调用作为第二步进行,因为这里(以及其他地方)的一些问题和答案似乎暗示了调用顺序可能是问题所在。
我已经将代码中的其他图像(相同数据的直方图)另存为jpg格式,所以我知道这台计算机可以保存为jpg格式。
我不确定我在savefig方面做错了什么,有什么建议吗?
谢谢!