我正在访问一个远程ipython笔记本服务器。我知道我可以使用%matplotlib内联来获取内联图和%matplotlib qt以获得弹出图。但是,%matplotlib qt弹出服务器计算机上的图,而不是客户端计算机。有没有办法让客户机上的情节出来?用例是用于操作3d图(旋转等),如果提供在远程机器上显示交互式3d图的替代方法,我也会很感激。
答案 0 :(得分:0)
<强>更新强> 在this SO question开头,您需要进行设置。
非最佳解决方案: 对于确切的答案,您应该确定连接到远程mashine(服务器)的方式。我猜你目前只有一些命令行访问权限。 我自己解决的解决方案要求安装在远程mashine上的浏览器以及每次运行matplotlib脚本时都可以访问它。
(与matplotlib进行交互的最好方法是在你的远程机器上启动一个web服务器。然后matplotlib的一个后端应该与客户端mashine的浏览器一起工作。我自己也没有这样做然而,因为我发现了另一个修复 - 不是一个可靠的解决方案。修复程序如下所述。)
我建议你使用mpld3库来做
mpld3.show()
而非常规
plt.show()
然后情节将在你的brouser窗口(localhost)中打开并且将是交互式的。 (注意:并非mpld3目前支持所有matplotlib功能。例如:&#39; annotate()&#39;不是 - 使用&#39; text()&#39;而是。SO question)< / p>
然后我找到了一个商业工具 - forwardhq.com 他们的插件服务组合可以创建一个隧道来共享您的localhost网页。安装完插件后,运行修改过的脚本,点击extict按钮(Chrome),即可获得与任何人共享的链接。 (该服务现在有7天的试用期。)
答案 1 :(得分:0)