1

我有变量 x,y,z 在绘制时形成点云:

library(plot3D)
plot3d(x,y,z)

我对他们做了一个locfit

myfit = locfit(y~lp(x,z),maxk=200)

我知道这会给我一条穿过空间最密集区域的曲线。

如何在 plot3d / RGL 中绘制这条曲线?

4

1 回答 1

2

使用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 图也很有用。

于 2014-06-26T01:04:47.117 回答