我已经浏览了"可能已经有你答案的问题",如果他们这样做了......我不明白.
我试图尽可能地消除并将我的问题简化为以下代码(我的道歉 - 我确信有更优雅的方式来获得所有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()
Run Code Online (Sandbox Code Playgroud)
plt.savefig()返回一个非常漂亮的图像,包含我的标签,轴和没有图形(即矩形是空白的)
plt.show()向我展示了上面所有的一个漂亮的绿色矩形,它位于我的轴之间,就像它应该的那样.我可以手动将此图保存到同一目录,并获得我期望的结果(即轴,标签,绿色矩形).
我已经尝试了没有show()或show()调用第二,因为这里(和其他地方)的一些问题和答案似乎暗示调用顺序可能是问题.
我已经在这段代码中以jpg的形式保存了其他数据(相同数据的直方图),所以我知道这台计算机可以保存为jpg.
我不确定我在savefig上做错了什么 - 有什么建议吗?
谢谢!
通过增加:
import matplotlib
matplotlib.use('TkAgg')
Run Code Online (Sandbox Code Playgroud)
在我打电话之前
import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)
我能够让一切都愉快地工作.
(显然,我还不了解后端!)
| 归档时间: |
|
| 查看次数: |
4705 次 |
| 最近记录: |