导出rgl.snapshot和rgl.postscript失败

时间:2014-04-23 11:24:34

标签: r plot export rgl

我目前正在使用rgl包进行一些数据表示。 这是我的命令

mypath("directory")
png(file=mypath, res=600, width=10.5, height= 10.5,units="in",bg = "transparent")
require(rgl)
set.seed(1)
df <- data.frame(replicate(4,sample(1:200,1000,rep=TRUE)))
colnames(df) <- c("var1","var2","var3","var4")
plot3d(x=df$var1, y=df$var2, z=df$var3, col=as.numeric(df$var4), size=0.5, type='s',xlab="var1",ylab="var2",zlab="var3")
rgl.snapshot(mypath)

上面的命令起作用并产生一个微小的图像,我无法使其变大或增加其分辨率(至600)。

我还尝试使用以下方法导出pdf:

rgl.postscript(mypath, fmt="pdf") 

但是当我执行命令时,R进入&#34;没有响应&#34;状态。

有人可以告诉我如何正确导出文件吗?我希望PNG的分辨率为600 dpi。

干杯,

2 个答案:

答案 0 :(得分:1)

解决方案是使用open3d():

设置窗口的大小
require(rgl)
set.seed(1)

df <- data.frame(replicate(4,sample(1:200,1000,rep=TRUE)))
colnames(df) <- c("var1","var2","var3","var4")
open3d(windowRect=c(100,100,700,700))
plot3d(x=df$var1, y=df$var2, z=df$var3, col=as.numeric(df$var4), size=0.5, type='s',xlab="var1",ylab="var2",zlab="var3")
rgl.snapshot(<path to png file>)

答案 1 :(得分:0)

可能是有需要的人。我对persp3Drgl使用了以下组合:

persp3Drgl(...)
par3d( windowRect=c( 0,0,100,100 ) )
snapshot3d( file.path(plotDir, "3D.png"), top = TRUE )

没有top = TRUE就失败了。