python - 使用 mayavi 和 python 远程绘图

标签 python remote-server mayavi

我有一个巨大的文件需要在远程计算机上解析和渲染,我已经使用 mayavi 编写了脚本来完成此操作。我想做的是将图像保存为 png,然后复制图像并在本地查看。通过将后端设置为“Agg”,使用 matplotlib 可以非常简单地完成此操作,但是我在使用 Mayavi 执行此操作时遇到了一些严重的问题。我已按照此处的指南进行操作

http://docs.enthought.com/mayavi/mayavi/tips.html

但问题是单独导入 mlab 需要访问 xdisplay,所以我什至无法按照建议打开虚拟窗口。

要重现此情况,请通过 ssh 访问计算机并运行一个简单的 python 脚本,例如:

#!/usr/bin/python
from mayavi import mlab

并且它会因标准而出错;

Unable to access the X Display, is $DISPLAY set properly?

如果有人能解决这个问题,或者有远程渲染 3D 图像的替代方法,我将不胜感激。 matplotlib 提供的 3D 渲染不足以满足我的需要,因此任何有关 mayavi 的工作替代方案的建议也将不胜感激。

最佳答案

如果您在运行 X 服务器的 *nix 平台上,请使用 rendering using the virtual framebuffer 下文档中的解决方案。正如 dpinte 上面评论的那样。我之前已经成功地使用过这个方法来 headless 运行mayavi脚本。

基本思想是启动一个虚拟X服务器,例如Xvfb,然后在虚拟X服务器的显示上下文中调用mayavi(是的,这个解释不太正确,但足够了)。

关于python - 使用 mayavi 和 python 远程绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23704892/

相关文章:

python - 如何嵌套任意数量的 Python 文件上下文管理器?

Python 正则表达式 - Unicode 文本匹配的位置和值

git - 从一个仓库推送到另一个仓库 - Git

python - 在 Mayavi 中设置 Nan 颜色

python - 更改 mlab quiver3d 和 surf 数据源而不清除特征脚本中的数字

c++ - [文字游戏]Quiddler Solver Algorithm

python - 将列添加到 pandas 数据框中,从其他列中的列表中获取值

pycharm - 如何在 pycharm 2018.1 上使用带有 jupyter notebook 的远程解释器

tomcat - 如何在IntelliJ 14内置Tomcat服务器中配置关闭端口?

python - 使用 Mayavi/Python 从数据中绘制 3D 等高线图