2

我目前正在使用该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 进入“无响应”状态。

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

干杯,

4

2 回答 2

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>)
于 2014-06-08T16:41:33.293 回答
0

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

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

没有top = TRUE它就失败了。

于 2015-10-28T15:37:18.190 回答