我的数据包含3个维度。
我计算了特定数据点半径内的最近邻居(使用nn2
)
然后,我绘制了我的数据的三维图(使用plot3d
库中的rgl
:
plot3d(dfrm[1:3], col=rainbow(2)[dfrm$col], size...)
所以,我有3个彩色情节:
第一个颜色 - 我的数据点
半径范围内的第二个颜色点
第3种颜色 - 其余的点
有没有办法用透明的"球覆盖我的第1和第2颜色组?#34;?
答案 0 :(得分:0)
使用spheres3d()
功能绘制球体。您需要指定中心(可能是您的数据点)和半径。使用类似col = "black", alpha = 0.2
的内容使其透明,并aspect = "iso"
调用plot3d()
以使其不重新调整。例如,
xyz <- matrix(rnorm(30), ncol=3)
dist <- apply(xyz, 1, function(pt) sqrt(sum((pt - xyz[1,])^2)))
radius <- 1
plot3d(xyz, col=c("black", ifelse(dist[-1] < radius, "green", "red")),
aspect = "iso", size = 3)
spheres3d(xyz[1,,drop=FALSE], col="black", alpha = 0.2, radius=radius)
给出了
绿色点位于球体内部,红色点位于球体外部。