r:3D表面图

时间:2013-02-22 08:20:54

标签: r 3d

假设我有一个x,y,z的数据帧,其中x任何y是坐标,z是高度。如何在x和y平面上创建z的覆盖层。 我尝试使用黄土功能创建一个毯子

data.loess = loess(z~x*y,data =data.df)
data.fit = expand.grid(list(x = seq(min(x),max(x),0.1), y = seq(min(y),max(y),0.1)))
z = predict(data.loess, newdata =data.fit)

但预测的z值与原始高度不一致。

scatterplot3d这样的函数只给我一些散点,如何得到一个有山丘和山谷的表面?

1 个答案:

答案 0 :(得分:1)

我不知道短语“与原始高度不一致”是什么意思,但为什么不看:

persp(z)

x = seq(1,10,0.1); y = seq(1,10,0.1)
z= outer(x,y,"*")
data =data.frame(x=rep(x, times=91), y=rep(y, each=91), z=c(z) )
data.loess = loess(z~x*y,data =data)
data.fit = expand.grid(list(x = seq(min(x),max(x),0.1), y = seq(min(y),max(y),0.1)))
z = predict(data.loess, newdata =data.fit)
persp(z)

enter image description here