当我使用rgl包在使用rgl.open()并将bg设置为白色后在不同画布(rgl设备)中绘制几个3d图形时,绘图样式看起来与默认样式有很大不同。有没有办法设置这个?请看下面的图片。旋转这两个图表时,您可以获得非常不同的体验。您可以尝试在默认画布中绘制相同的图形,打开一个新图并绘制相同的图片。
此外,有没有办法将坐标的外部框从立方体更改为球体?
答案 0 :(得分:7)
(修改)使用open3d()
代替rgl.open()
打开新窗口。该文档警告不要将rgl.*
次电话与*3d
次电话混合,我想这是一个例子。以下是三个图表 - 默认,rgl.open()
和open3d()
...
library(rgl)
plot3d(1:4,1:4,1:4)
rgl.open()
plot3d(1:4,1:4,1:4)
open3d()
plot3d(1:4,1:4,1:4)
结果并排:
会话信息:
R Under development (unstable) (2012-12-14 r61321)
Platform: i686-pc-linux-gnu (32-bit)
[locale snipped]
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rgl_0.92.894
答案 1 :(得分:1)
如果你想在会话之间保持相同的设置,我认为你需要在启动时打开包'rgl'(参见?Startup
)并指定你想要使用的rgl.materials
设置。我在帮助(package = rgl)的索引中搜索了选项设置,但未能找到选项设置。名为r3dDefaults
的工作空间中有一个可以修改的列表对象。也许:
r3dDefaults$bg$color <- "white" # Change the value to get something different
# > names(r3dDefaults)
# [1] "userMatrix" "mouseMode" "FOV" "bg" "family" "material"
*.r3d
命令与rgl.*
命令之间的设备行为之间的差异在?r3d
中列出,而在?open.3d
中则不太完整。
关于球面坐标参考的需求,请参阅help(rgl.bg)
页面并尝试'sphere = TRUE'参数。 (我没有觉得那令人高兴但YMMV。)
rgl.open()
rgl.bg(sphere=TRUE, color=c("grey","blue"), lit=FALSE, back="lines" )