0
我是R中的業餘人員,想要在R中繪製兩個3-d圖形並對它們進行比較。例如,這是我的R-代碼:在r中繪製兩個3-d圖形
theta <- 0.3
f <- function(u,v,theta=0.5){return(1/(1-theta*u*v-theta*(1-theta*u*v)^(-2)*(1-2*u-2*v+3*u*v+(1-theta*u*v)^(-3)*2*theta^2*u*v*(1-u)*(1-v))))}
x<- seq(0,1,length=20)
y<-x
z<-outer(x,y,Vectorize(f))
z[is.na(z)]<-1
op<-par(bg = "white")
persp(x,y,z,theta=40, phi=30, expand = 0.5,ltheta=120,shade =0.1, col="tomato",zlim=c(0,2),main="", zlab="",xlab="X", ylab="Y")
z2<-matrix(rep(1,c(20*20)),ncol=20)
par(new=TRUE)
persp(x,y, z2, theta = 40, phi = 30, expand = 0.5, col = NA, border="lightgreen", zlab="",zlim=c(0,2))
的問題是,我無法從圖中清楚地看到在該部分,f的點大於1,反之亦然。我想讓這個更加明顯。任何建議將不勝感激。
感謝帕特里克。我也這樣做了,並得到了同樣的圖表,但這裏着色的方式肯定是不正確的,我無法驗證。我的功能是對稱的,但是像這樣定義的顏色並沒有顯示這個事實? –
@ThuongNguyen,修復了代碼。其實,原因是這個「col」應該被回收並且看到詳細的幫助。 – Patric
太好了。非常感謝Patric。我現在有了我想要的圖表。 –