首页 > 解决方案 > GUI 不适用于 -X 但适用于 -Y (matplotlib)

问题描述

在 Ubuntu 18.04 服务器上,使用 anaconda 3 python 发行版,尝试使用 matplotlib 绘制某些内容时出现以下错误:

回溯(最后一次调用):文件“fft_gen_3d.py”,第 82 行,在 plt.pcolormesh(t, f, Sxx) 文件“/home/admin/anaconda3/lib/python3.6/site-packages/matplotlib/ pyplot.py”,第 3277 行,在 pcolormesh ax = gca() 文件“/home/admin/anaconda3/lib/python3.6/site-packages/matplotlib/pyplot.py”,第 984 行,在 gca 中返回 gcf() .gca(**kwargs) 文件“/home/admin/anaconda3/lib/python3.6/site-packages/matplotlib/pyplot.py”,第 601 行,在 gcf 返回图()文件“/home/admin/anaconda3 /lib/python3.6/site-packages/matplotlib/pyplot.py”,第 548 行,在图中 **kwargs) 文件“/home/admin/anaconda3/lib/python3.6/site-packages/matplotlib/backend_bases. py",第 161 行,在 new_figure_manager 返回 cls.new_figure_manager_given_figure(num, fig) 文件"/home/admin/anaconda3/lib/python3.6/site-packages/matplotlib/backend_bases.py”,第 167 行,在 new_figure_manager_given_figure 画布 = cls.FigureCanvas(figure) 文件“/home/admin/anaconda3/lib/python3. 6/site-packages/matplotlib/backends/backend_qt5agg.py”,第 24 行,在初始化 超级(FigureCanvasQTAgg,自我)。init(图=图)文件“/home/admin/anaconda3/lib/python3.6/site-packages/matplotlib/backends/backend_qt5.py”,第234行,在init _create_qApp()文件“/home/admin/anaconda3 /lib/python3.6/site-packages/matplotlib/backends/backend_qt5.py”,第 125 行,在 _create_qApp 中引发 RuntimeError('Invalid DISPLAY variable') RuntimeError: Invalid DISPLAY variable

所有在线解决方案都只需使用以下行:

plt.switch_backend('agg')

但是,这对我不起作用。起作用的是使用 -Y 而不是 -X 进行 ssh'ing。这里发生了什么?

标签: pythonmatplotlibsshxserver

解决方案


推荐阅读