首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使ipython notebook %matplotlib qt在客户机上弹出绘图

使ipython notebook %matplotlib qt在客户机上弹出绘图
EN

Stack Overflow用户
提问于 2015-09-17 09:15:43
回答 2查看 1.1K关注 0票数 4

我正在访问一个远程ipython笔记本服务器。我知道我可以执行%matplotlib inline来获得内联图,执行%matplotlib qt来获得弹出图。但是,%matplotlib qt会在服务器计算机上弹出绘图,而不是在客户端计算机上弹出。有没有办法让这个图在客户机上显示出来呢?该用例用于3d绘图的操作(旋转等),如果能提供一种在远程机器上显示交互式3d绘图的替代方法,我也会很感激。

EN

回答 2

Stack Overflow用户

发布于 2015-12-27 19:09:09

从matplolib 1.4开始,您可以使用:

代码语言:javascript
复制
%matplotlib notebook

这将创建可在笔记本中缩放的视图:

并旋转:

票数 1
EN

Stack Overflow用户

发布于 2015-12-27 03:59:35

更新:this SO question开始时,描述了您需要的设置。

非最佳解决方案:要获得确切的答案,您应该确定连接到远程mashine (服务器)的方式。我猜您目前只有一些命令行访问权限。我想到的解决方案需要在远程mashine上安装浏览器,并在每次运行matplotlib脚本时访问它。

(与matplotlib交互的最好方法是在您的远程机器上启动web服务器。那么matplotlib的一个后端应该可以与客户端mashine`s的浏览器一起工作。我自己还没有这样做,因为我发现了另一个修复-不是一个可靠的解决方案。修复说明如下。)

我建议你使用mpld3库来做

代码语言:javascript
复制
mpld3.show()

而不是常规

代码语言:javascript
复制
plt.show()

然后,绘图将在浏览器窗口(localhost)中打开,并且将是交互式的。(注意: mpld3目前并不支持所有matplotlib功能。例如:'annotate()‘不是-改用'text()’。SO question)

然后我找到了一个商业工具- forwardhq.com,他们的插件服务组合可以创建一个隧道来分享你的本地网页。安装完他们的插件后,运行你修改过的脚本,点击extiction按钮(Chrome),你就会得到一个与任何人分享的链接。(服务现在有7天的试用期。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32621160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档