我正在尝试使用python生成一个绘图,而ssh生成一个锉刀 . 我尝试了一些不同的东西但是我无法显示情节或者我收到了Traceback错误 .
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
print ('start')
plt.plot([1,2,3,4],[1,4,9,16])
plt.show()
print ('finished')
开始完成
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
print ('start')
plt.plot([1,2,3,4],[1,4,9,16])
plt.show()
print ('finished')
启动Traceback(最近一次调用最后一次):文件“run_ssa_test1.py”,第20行,在plt.plot([1,2,3,4],[1,4,9,16])文件“/ usr / local / lib / python3.4 / dist-packages / matplotlib / pyplot.py“,第3306行,在plot ax = gca()文件中”/usr/local/lib/python3.4/dist-packages/matplotlib/pyplot . py“,第950行,在gca中返回gcf() . gca(** kwargs)文件”/usr/local/lib/python3.4/dist-packages/matplotlib/pyplot.py“,第586行,在gcf返回图中()文件“/usr/local/lib/python3.4/dist-packages/matplotlib/pyplot.py”,第535行,图** kwargs)文件“/usr/local/lib/python3.4/dist- packages / matplotlib / backends / backend_tkagg.py“,第81行,在new_figure_manager中返回new_figure_manager_given_figure(num,figure)文件”/usr/local/lib/python3.4/dist-packages/matplotlib/backends/backend_tkagg.py“,line 89,在new_figure_manager_given_figure window = Tk.Tk()文件“/usr/lib/python3.4/tkinter/init.py”,第1854行,在init self.tk = _tkinter.create(screenName,baseName,className,interactive, wantobjects,useTk,sync,use)_tk inter.TclError:没有显示名称和没有$ DISPLAY环境变量
1 回答
要显示图像,matplotlib或任何其他工具,需要显示以显示它 . 默认情况下,SSH登录仅提供控制台访问权限 .
我看到的两个最明显的选择是:
此示例使用
display
,imagemagick中的工具 . 但显然将显示更改为eog
,gthumb
或您已安装的任何内容 .现在,rpi上生成的图像可以在主机上显示的显示器上呈现,即
pyplot.show()
将起作用 .选项(2)可能相当慢,并且还取决于在rpi上安装后端的更多库 .
第三种选择是完全避免在rpi上生成绘图,而是将数据检索到主机pc并在那里绘图 .