打开新的rgl设备时,绘图样式与默认样式非常不同

时间:2013-01-24 16:48:50

标签: r plot rgl

当我使用rgl包在使用rgl.open()并将bg设置为白色后在不同画布(rgl设备)中绘制几个3d图形时,绘图样式看起来与默认样式有很大不同。有没有办法设置这个?请看下面的图片。旋转这两个图表时,您可以获得非常不同的体验。您可以尝试在默认画布中绘制相同的图形,打开一个新图并绘制相同的图片。

default plot canvas added canvas

此外,有没有办法将坐标的外部框从立方体更改为球体?

2 个答案:

答案 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)

结果并排:

enter image description here

会话信息:

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" )