python - 远程 ipython 内核不显示图

标签 python matplotlib ipython ipython-notebook x11-forwarding

我的设置是在 Linux 服务器上远程运行 ipython 笔记本,然后通过 ssh 隧道从 OSX 连接到它。

我可以确认 X 转发工作正常,并且从启动 ipython 的同一终端我可以使用 gnuplot 等。

在我本地机器上的 ipython session 中尝试做类似的事情时

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 转发仍然有问题 - 调试它的最佳方法是什么?欢迎所有建议。

最佳答案

  1. 当连接到服务器时,使用 -L(执行本地端口转发)而不是 -X(执行图形输出转发),如下所示:

    ssh -L 8000:localhost:8888 your_user_name@your_server_ip
    
  2. 在您的代码中,在导入 pyplot 之前使用 %matplotlib inline 预先加载后端并以 ; 结尾,例如这个:

    %matplotlib inline
    from matplotlib import pyplot as plt
    
    plt.figure()
    plt.imshow(sample_image)
    plt.show();
    

关于python - 远程 ipython 内核不显示图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28831863/

相关文章:

python - 从数据 block 笔记本运行时,tensoflow 数据验证 visualize_statistics() 没有显示 html 网页

python - 如何在django中制作像google表单一样的表单?用户可以在哪里根据需要添加或删除字段?用户最多可以添加10-20个字段?

python - IPython笔记本安装错误

python - 在 Python 中拥有唯一标识符的正确方法?

python - 从饼图中删除标签会移动图例框

python - 在seaborn/matplotlib中保持x/y轴相同的长度

matplotlib,为什么散点函数中不允许自定义标记样式

python - %timeit 和变量的重新赋值

python - sr*() 方法不在 scapy 中剖析回答的数据包

python - 将数据帧减少为唯一值和计数