我初学者在R中用3D绘图,我需要帮助。我试图绘制一些简单的抛物面
library(rgl)
x <- seq(-1,1, 0.2)
y <- x
f <- function(x,y){
-(x^2+y^2)
}
z <- outer(x,y, "f")
persp3d(x, y, z, col="gray")
所以,我的问题是:
我可以只绘制网格,还是让颜色透明,还能看到“在后面”的部分?
如何在地图上添加点(在表面上,例如以其他颜色点(1,1,2)绘制)?
答案 0 :(得分:5)
有关表面属性的信息,请参阅?material3d
。大多数此类属性(例如alpha
或front="line"
或back="line"
)都可以直接传递给persp3d()
。使用points3d()
(或spheres3d()
)添加积分。
persp3d(x, y, z, col="gray", alpha=0.5)
points3d(1,1,2,col="red")
persp3d(x, y, z, col="gray", front="line", back="line")
spheres3d(1,1,2,col="red",radius=5) ## appropriate radius: I used x <- y <- 1:20