首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当rgl.useNULL = TRUE时为rgl.postscript

当rgl.useNULL = TRUE时为rgl.postscript
EN

Stack Overflow用户
提问于 2016-04-18 05:54:00
回答 1查看 514关注 0票数 5

当选项(rgl.useNULL= TRUE)时,rgl.postscript()不应该在无头服务器上工作吗?我知道rgl.snapshot()不会起作用。

代码语言:javascript
复制
library(rgl)
options(rgl.useNULL = TRUE)
open3d()
x <- sort(rnorm(1000))
y <- rnorm(1000)
z <- rnorm(1000) + atan2(x, y)
plot3d(x, y, z, col = rainbow(1000))
rgl.postscript("test.pdf",fmt="pdf")

结果显示"In rgl.postscript("test.pdf",fmt = "pdf"):Postscript转换失败“。

EN

回答 1

Stack Overflow用户

发布于 2016-04-19 20:29:09

在某些情况下它可以这样做,但目前还没有,一个问题是如果使用空设备启动rgl,它甚至不会链接到OpenGL函数中,而rgl.postscript()会使用其中的一些函数。

编辑:对不起,“无链接”是我想要的。目前它确实需要链接,但它不会运行初始化代码,所以它应该在没有显示的环境中工作(例如无头服务器)。

在无头服务器上,您可以使用Xvfb作为“虚拟帧缓冲区”。我对它没有太多的经验,但我想我听说它不能很好地处理rgl.snapshot。我希望rgl.postscript能正常工作。

原则上,您也可以在WebGL中呈现,然后使用其他工具将输出转换为您想要的格式。我不知道是否存在这样的工具。

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

https://stackoverflow.com/questions/36682656

复制
相关文章

相似问题

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