如何像 rgl::persp3d() 一样使用 plot3D::persp3D() 在 rgl 设备中查看绘图?

How to use plot3D::persp3D() to see plot in rgl device as with rgl::persp3d()?

我想使用 plot3D 包在 rgl 设备 window 中绘制我的 3D 函数。它允许我在 x、y、z 轴和缩放上旋转。这是 rgl 包的基本示例:

x <- seq(-10, 10, length = 30)
y <- x
z <- outer(x, y, function(x, y) { r <- sqrt(x^2 + y^2); 10 * sin(r)/r })
z[is.na(z)] <- 1
rgl::persp3d(x, y, z)

不幸的是,这个没有在 rgl 设备中打开:

plot3D::persp3D(x, y, z)

我很确定我在某个地方看到过它(甚至可能在我对那个包的实验中)。有人能帮助我吗?

tl;dr 也许您正在寻找 plot3Drgl 包裹?

我认为这是不可能的。 ?plot3D::persp3D

‘persp3D’ is an extension to the default persp plot

(强调)。 "default persp plot" 建立在基础 R 图形之上,它使用静态 "canvas-style" 模型 - 它不能动态 rotated/zoomed.

让我们尝试寻找名称中带有“3D”的其他软件包...

a1 <- available.packages()
grep("3D",rownames(a1),value=TRUE)
## [1] "arf3DS4"         "BaTFLED3D"       "DGVM3D"          "FPCA3D"         
## [5] "plot3D"          "plot3Drgl"       "VecStatGraphs3D"

我们可以尝试 plot3Drgl,其文档 (?plot3Drgl) 说

It will plot most (but not all) features from plots generated with ‘plot3D’, except for the color keys and polygons.

另一方面,从实验来看,它确实处理颜色键...

plot3Drgl::persp3Drgl(x,y,z)