当选项(rgl.useNULL= TRUE)时,rgl.postscript()不应该在无头服务器上工作吗?我知道rgl.snapshot()不会起作用。
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转换失败“。
发布于 2016-04-19 20:29:09
在某些情况下它可以这样做,但目前还没有,一个问题是如果使用空设备启动rgl,它甚至不会链接到OpenGL函数中,而rgl.postscript()会使用其中的一些函数。
编辑:对不起,“无链接”是我想要的。目前它确实需要链接,但它不会运行初始化代码,所以它应该在没有显示的环境中工作(例如无头服务器)。
在无头服务器上,您可以使用Xvfb作为“虚拟帧缓冲区”。我对它没有太多的经验,但我想我听说它不能很好地处理rgl.snapshot。我希望rgl.postscript能正常工作。
原则上,您也可以在WebGL中呈现,然后使用其他工具将输出转换为您想要的格式。我不知道是否存在这样的工具。
https://stackoverflow.com/questions/36682656
复制相似问题