我有变量 x,y,z 在绘制时形成点云:
library(plot3D)
plot3d(x,y,z)
我对他们做了一个locfit
myfit = locfit(y~lp(x,z),maxk=200)
我知道这会给我一条穿过空间最密集区域的曲线。
如何在 plot3d / RGL 中绘制这条曲线?
使用surface3d
. x 和 y 是边距向量,z 是矩阵:
require(locfit)
fit <- locfit(NOx~lp(E,C,nn=0.5,scale=0), data=ethanol)
plot(locfit) # there is an ordinary contour plot method for locfit objects.
require(rgl)
open3d()
surface3d( x=seq(0.5, 1.3, by=0.1), y=seq(7.5,18,by=.5) ,
z= matrix( predict(fit, newdata=
expand.grid(E=seq(0.5, 1.3, by=0.1),
C=seq(7.5,18,by=.5) ) ) ),
,nrow= length(seq(0.5, 1.3, by=0.1)) ,
ncol= length(seq(7.5,18,by=.5) ) ,
xlim=c(.5, 1.3) )
# grab and spin
实际上,我发现等高线图信息量更大,但 3d 图也很有用。