如何在本地机器上显示matplotlib图?

cof*_*ant 3 python matplotlib

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

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

tac*_*ell 6

即将发布的版本(1.4.0,将于2014年8月底发布,发布候选版本可用)将附带nbagg后端,该后端提供交互式数据,无需去本地客户端或使用d3.您在笔记本中所需要做的就是:

import matplotlib
matplotlib.use('nbagg')
from matplotlib import pyplot as plt
Run Code Online (Sandbox Code Playgroud)

然后去绘制

plt.plot(range(3))
plt.show()
Run Code Online (Sandbox Code Playgroud)

如果您现在想要尝试这个,请从源代码构建或查看其中一个候选版本.

使用nbagg和mpld3/bokeh 有两个主要区别.

首先,您没有跨库接口的接口(或学习js!).我的理解是,他们都创造了一个人物,废弃它(这并不完美,因为mpl不是为了让这一点变得容易而设计的).使用nbagg鼠标和键盘回调应该没有翻译,我认为他们目前不能导出到d3.

第二个是nbagg所有渲染都发生在服务器上,基于d3的库所有数据必须天真地运送到浏览器(散景正在努力使这个更聪明,只发送你可以看到有用的数据解析度).随着nbagg自带跨网络的唯一的事情是png增量.