下面是使用 R 函数 persp3d 并指定颜色的 3D 曲线。
library(rgl)
y = seq(-5,25,by=0.1)
x = seq(5,20,by=0.2)
NAs <- rep(NA, length(x)*length(y))
z <- matrix(NAs, length(x), byrow = T)
for(i in seq(1,length(x))) {
for(j in seq(1,length(y))) {
val = x[i] * y[j]
z[i,j] = val
if(z[i,j] < 0.02) {
z[i,j] = NA
}
}
}
col <- rainbow(length(x))[rank(x)]
open3d()
persp3d(x,y,z,color=col,xlim=c(5,20),ylim=c(5,10),axes=T,box=F,xlab="X Axis",ylab="Y Axis",zlab="Z Axis")
它产生了这个图像:
在当前版本中,对于 x 值为 15,无论 z 值如何,颜色都是蓝色。但我希望高 z 值是深蓝色,而低 z 值是浅蓝色,如果这有意义的话。我怎样才能做这样的事情,这样颜色不仅可以区分 x 值,还可以区分 z 值?