以下是使用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值?