我有一个坐标(x,y,z)和一个与要用彩色表示的每个点相关的值(对我来说,它们是在那些位置测得的分贝级别)。我希望绘制这些点,然后在它们之间进行插值以获得平滑的图形,但无法弄清楚。伪数据集如下:
X Y Z dB min
1 0.5 1 118
0.5 1 1 117
1 1 1 117
1.5 1 1 117
1 1.5 1 116
1 0.5 2 119
0.5 1 2 118
1 1 2 118
1.5 1 2 118
1 1.5 2 117
1 0.5 3 120
0.5 1 3 119
1 1 3 119
1.5 1 3 119
1 1.5 3 118
1 0.5 4 119
0.5 1 4 118
1 1 4 118
1.5 1 4 118
1 1.5 4 117
我尝试通过将colvar设置为等于dB min列(设置为变量d)来使用scatter3D,但是出现以下错误:
Error in r[i1] - r[-length(r):-(length(r) - lag + 1L)] : non-numeric argument to binary operator
x<-"data$x"
y<-"data$y"
z<-"data$z"
d<-"data$dB min"
install.packages("plot3D")
library("plot3D")
scatter3D(x, y, z, d, colvar = d, col = NULL, add = FALSE)
错误:
Error in r[i1] - r[-length(r):-(length(r) - lag + 1L)] : non-numeric argument to binary operator
我希望每个xyz点都可以使用d变量着色,但这只是给了我一个错误,并且没有绘制任何内容。任何帮助将不胜感激。甚至不知道从点之间的插值处开始。