太坑了。。。
主要原因应该还是远程连接linux服务器不支持图形化界面
试过很多方法
网上大多数流传的是安装Xming+Xshell+添加这段代码
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.use('TkAgg')
plt.plot(range(20))
plt.show()
但是我尝试以后并没有用,依然不能像在本地运行一样直接可以看出图
也有网友建议安装QT5作为图形化界面,尝试过了,但是qt模块估计和我的虚拟环境里面的其他模块有一些冲突,报错更多了且依然无法显示图片
最后只能尝试每次运行完了就把图片保存下来,完美解决!
注意一下踩坑点:
- mpl.use('Agg'):常用的就是TkAgg\Agg,这一行要放在所有Import后面,避免被篡改
- 注释掉 plt.show(),因为在线调用图片显示仍然没有解决,不注释会报错
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.use('Agg')
plt.plot(range(20))
# plt.show()
plt.savefig('./test.png') #保存到当前目录下
plt.close() #防止重叠
走不通就放弃,及时止损!图形化界面真香
虽然但是我已经花了好几个小时完全解决不了一点才退而求其次,在coding的时候强迫症发作真的很痛苦。。。