- linux终端远程连接服务器,用
matplotlib.pyplot.show()
无法显示图像
- 错误提示:
_tkinter.TclError: no display name and no $DISPLAY environment variable
-
原因:服务器把图形终端关闭,故无法显示。
-
解决方法:添加前两行代码
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.savefig
保存图片时一片空白
- 事例:
import matplotlib.pyplot as plt
"""drawing the pic"""
plt.show()
plt.savefig("filename.png")
- 原因:
plt.savefig()
在plt.show()
之后调用,而执行plt.show()
会创建一个空白的图片(坐标轴),这时候再执行plt.savefig()
就会保存这个新的空白图片。 - 解决方法:画图的时候获取当前图像(这一点非常类似Matlab的句柄的概念):
# gcf: Get Current Figure
fig = plt.gcf()
plt.show()
fig.savefig('filename.png')