使用rgl grid3d完成缺少的行

使用rgl grid3d完成缺少的行,r,graphics,3d,rgl,R,Graphics,3d,Rgl,是否有人知道如何1)完成grid3d调用y中缺少的网格线,以及2)绘制水平网格线以关闭由grid3d调用x和y构建的网格顶部?我在grid3d中尝试了各种pretty调用组合,但都无济于事,我想知道这是rgl的怪癖还是我的错误指定。此外,我想将垂直轴编号扩展到闭合网格结束的地方 library(rgl) cpts <- seq(0, 2, length = 40) spts <- seq(0, 1, length = 20) grid <- expand.grid(s=spts

是否有人知道如何1)完成
grid3d
调用
y
中缺少的网格线,以及2)绘制水平网格线以关闭由
grid3d
调用
x
y
构建的网格顶部?我在
grid3d
中尝试了各种
pretty
调用组合,但都无济于事,我想知道这是
rgl
的怪癖还是我的错误指定。此外,我想将垂直轴编号扩展到闭合网格结束的地方

library(rgl)
cpts <- seq(0, 2, length = 40)
spts <- seq(0, 1, length = 20)
grid <- expand.grid(s=spts, c=cpts)
UFn  <- function(s,c){c^(0.5) - exp(s) + 1}
U    <- UFn(grid$s, grid$c)
open3d()
rgl.surface(x = spts, y = matrix(U,nrow = 40, ncol = 20), z = cpts, 
            coords = c(1,3,2), specular = "black")
axes3d("x", at = pretty(spts, n = 2), color = "black")
axes3d("y", at = pretty(cpts, n = 5), color = "black")
axes3d("z--", color = "black")
grid3d("x")
grid3d("y", at = pretty(spts, n = 2))
title3d(xlab ='s', ylab = 'c', zlab = 'U', color = "black")
rgl.snapshot("3d.png")
库(rgl)

我会说这是一个bug。使用
grid3d(“y”,n=2)
时不会得到任何z线,即使它应该是相同的。您可以通过使用at的列表规范来解决此问题,设置列表的x元素,例如:

grid3d("y", at = list(x=pretty(spts, n = 2)))