使用rgl grid3d完成缺失行

Pat*_* W. 11 3d graphics r rgl

有没有人知道如何1)完成grid3d调用中缺少的网格线y,以及2)绘制水平网格线以关闭由grid3d调用构建的网格的顶部xy?我已经玩了各种各样的pretty电话组合grid3d无济于事,我想知道这是一个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")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Jam*_*mes 3

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

grid3d("y", at = list(x=pretty(spts, n = 2)))
Run Code Online (Sandbox Code Playgroud)