我正在尝试使用package
plot3D
使用基于第四个变量的颜色绘制我的xyz数据
我的数据如下:
data.frame(xx,yy,zz,Ammpl)
xx yy zz Ammpl
1 63021.71 403105.0 1.181028516 1170
2 63021.71 403105.0 0.977028516 1381
3 63021.71 403105.0 0.861028516 807
4 63021.71 403105.0 0.784028516 668
5 63021.71 403105.0 0.620028516 19919
6 63021.71 403105.0 0.455028516 32500
7 63021.71 403105.0 0.446028516 32500
8 63021.71 403105.0 0.436028516 32500
9 63021.71 403105.0 0.426028516 32500
10 63021.71 403105.0 0.281028516 17464
我做的第一件事就是使用akima
函数interp
。创建常规网格
s100<-interp(xx,yy,zz, xo=seq(min(xx):max(xx), length=30, yo=seq(min(yy):max(yy), length=30), duplicate="mean")
使用函数plot3D
slice3D
slice3D(x = s100$x, y = s100$y, z = s100$z, colvar = ampl,
ys = 1:10, zs = NULL, NAcol = "black",
expand = 0.4, theta = 45, phi = 45)
我的问题是我不知道如何为ampl
构建数据colvar
,因此它会在此图中提供颜色。
我尝试了很多东西,但我认为这是我遇到的问题。
在example(slice3D)
中,他们使用oxsat$val
中的data(oxsat)
来创建colvar
。
> dim(Oxsat$val)
[1] 180 90 33