我在远程服务器上远程运行 ipython。我使用 serveraddress:8888/等访问它,为我的笔记本编写代码。

当我使用 matplotlib 时,图当然是内联的。有没有办法远程发送数据,以便打开绘图窗口?我想要在本地机器上的 matplotlib 上的整个交互式环境以及服务器机器上的所有数字运算?这是非常基本的东西......但不知何故,在通过谷歌翻找了很长一段时间后,我无法弄清楚。

最佳答案

有几种可能

  • 如果你的远程机器有点 unixish,你可以使用 X Windows(然后你的 session 在远程机器上并显示在本地机器上)
  • mpld3
  • bokeh 和 iPython 笔记本
  • nbagg matplotlib 后端。¨

  • 替代方案 #1 要求您的机器上有一个 X 服务器,并在两台机器之间建立连接(可能通过 ssh 等建立隧道)。因此,这取决于操作系统,性能取决于两台机器之间的连接。

    替代方案#2 和#3 非常新,但很有前途。它们有完全不同的方法,mpl3d 支持使用标准的 matplotlib 绘图命令,但对于大型数据集 bokeh 可能更有用。

    替代方案 #4 可能是最终解决方案(请参阅 tcaswell 的评论),但如果不使用 matplotlib 的开发版本(即可能存在一些安装挑战),则尚不可用。另一方面,如果你能屏住呼吸一周,1.4.0就会出来。

    关于python - 如何在本地机器上显示 matplotlib 图?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25440006/

    10-15 22:52