我浏览了“可能已经有你答案的问题”,如果他们这样做了……我不明白。
我试图尽可能多地消除并将我的问题简化为以下代码(我的道歉 - 我确信有一种更优雅的方式来获取所有 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 上做错了什么——有什么建议吗?
谢谢!