我的设置是我在Linux服务器上远程运行ipython笔记本,然后通过ssh隧道从OSX连接到它。
我可以确认X转发工作正常,从启动ipython的同一终端我可以使用gnuplot等。
在尝试执行类似
之类的操作时,在本地计算机上的ipython会话中import matplotlib as mpl
mpl.use("GTK3cairo")
import matplotlib.pyplot as plt
plt.plot([1,2,3,4],'*-')
我得到的只是[<matplotlib.lines.Line2D at 0x54bcc90>]
。我尝试过各种其他后端,结果相同。使用%pylab inline
时会显示这些图表,但我会在不同的窗口中显示它们。
我认为X转发仍然存在问题 - 调试此问题的最佳方法是什么?欢迎所有建议。
答案 0 :(得分:0)
连接到服务器时,使用-L
(进行本地端口转发)而不是-X
(进行图形输出转发),如下所示:
ssh -L 8000:localhost:8888 your_user_name@your_server_ip
在您的代码中,在导入%matplotlib inline
之前先使用pyplot
加载后端,并以;
结尾,如下所示:
%matplotlib inline
from matplotlib import pyplot as plt
plt.figure()
plt.imshow(sample_image)
plt.show();