python - Matplotlib 后端问题 _tkinter.TclError: no display name and no $DISPLAY environment variable
问题描述
我正在尝试使用 matplotlib 绘制一个简单的图形,同时使用 SSH 连接到 Linux 机器。我在 Python2.7 上运行我的代码
我首先运行了以下内容:
import matplotlib
print(matplotlib.get_backend())
我把“TkAgg”作为我的后端然后我跑了:
import os
import matplotlib as mpl
if os.environ.get('DISPLAY','') == '':
print('no display found. Using non-interactive TkAgg backend')
mpl.use('TkAgg')
import matplotlib.pyplot as plt
确保专门使用 TkAgg。然而它返回:_tkinter.TclError: no display name and no $DISPLAY environment variable error。
有趣的是,当我使用“Agg”来查看会发生什么时,没有出现错误,也没有图表。
有什么好的建议吗?
解决方案
Agg
后端不显示任何内容,当您想要保存绘图而不显示它时使用它。
你想要的是从你所在的地方转发你的显示,所以ssh -X
或ssh -Y
。
推荐阅读
- parsing - SAS:解析字符串/字符值以查找多个分隔符
- azure - Terraform azurerm_eventgrid_event_subscription 动态模块
- c# - 我收到一个错误,对象不包含 WndProc 的定义(即 base.WndProc)
- flutter - 如何在颤动中格式化行?
- time-series - KL散度计算使用经验分布
- python - 检查张量中是否包含元素(带有'@tf.function'的Python Tensorflow2)
- swift - 进度视图值变化问题
- javascript - 如何在启动时验证 TypeORM 实体
- django - 从管理面板运行自定义命令
- java - Panache MongoDB:仅返回数组中的匹配数据