看板 NCTU-STAT95G 關於我們 聯絡資訊
##從中間開始漸層 background2_4 <- function(x = c(-20,20), y = c(-20,20), r = 0.5, g=0.5, b = 0.5,xcorint = 5, ycorint = 5, axbox = TRUE, xlable="",ylable="",title ="") { ax <- min(x) bx <- max(x) ay <- min(y) by <- max(y) if(ax == bx || ay == by ||r > 1 ||r < 0 ||g > 1 ||g < 0 ||b > 1 ||b < 0 ){ warning("給我去看note!!") return(0); } if(xcorint > bx || ycorint > by){ warning("間隔大於你的最大軸座標啦") return(0); } plot(x, y,type='n',axes=F,xlab= (xlable),ylab=(ylable),main=(title)) i <- 1 times <- 100 while(r+i*0.0005 < 1 && g+i*0.0005 < 1 && b+i*0.0005 < 1){ if(r == 0){ if(b == 0) polygon(c(ax+(i-1)/times-5,ax+(i-1)/times-5,bx-(i-1)/times+5 ,bx-(i-1)/times+5),c(ay+(i-1)/times-5,by-(i-1)/times+5, by-(i-1)/times+5, ay+(i-1)/times-5),col= rgb(0,1-(g+i*0.0005),0), lty=0) else if(g == 0) polygon(c(ax+(i-1)/times-5,ax+(i-1)/times-5,bx-(i-1)/times+5 ,bx-(i-1)/times+5),c(ay+(i-1)/times-5,by-(i-1)/times+5, by-(i-1)/times+5, ay+(i-1)/times-5),col= rgb(0,0,1-(b+i*0.0005)), lty=0) else polygon(c(ax+(i-1)/times-5,ax+(i-1)/times-5,bx-(i-1)/times+5, bx-(i-1)/times+5),c(ay+(i-1)/times-5,by-(i-1)/times+5, by-(i-1)/times+5, ay+(i-1)/times-5),col= rgb(0,1-(g+i*0.0005),1-(b+ i*0.0005)), lty=0) } else if(b == 0){ if(g == 0) polygon(c(ax+(i-1)/times-5,ax+(i-1)/times-5,bx-(i-1)/times+5, bx-(i-1)/times+5),c(ay+(i-1)/times-5,by-(i-1)/times+5, by-(i-1)/times+5, ay+(i-1)/times-5),col= rgb(1-(r+i*0.0005),0,0), lty=0) else polygon(c(ax+(i-1)/times-5,ax+(i-1)/times-5,bx-(i-1)/times+5, bx-(i-1)/times+5),c(ay+(i-1)/times-5,by-(i-1)/times+5, by-(i-1)/times+5, ay+(i-1)/times-5),col= rgb(1-(r+i*0.0005),1-(g+i*0.0005),0), lty=0) } else if(g == 0) polygon(c(ax+(i-1)/times-5,ax+(i-1)/times-5,bx-(i-1)/times+5, bx-(i-1)/times+5),c(ay+(i-1)/times-5,by-(i-1)/times+5, by-(i-1)/times+5, ay+(i-1)/times-5),col= rgb(1-(r+i*0.0005),0,1-(b+ i*0.0005)), lty=0) else polygon(c(ax+(i-1)/times-5,ax+(i-1)/times-5,bx-(i-1)/times+5, bx-(i-1)/times+5),c(ay+(i-1)/times-5,by-(i-1)/times+5, by-(i-1)/times+5, ay+(i-1)/times-5),col= rgb(1-(r+i*0.0005),1-(g+i*0.0005),1-(b+ i*0.0005)), lty=0) i <- i+1 } ix<- seq(ax,bx,xcorint) iy<- seq(ay,by,ycorint) abline(v=ix, h=iy, col = "lightyellow", lty = "dotted") if(axbox == TRUE){ box() axis(1, ix) axis(2, iy) } else{ axis(1, seq(ax-xcorint,bx+xcorint,xcorint),lwd=2, lty='dotted') axis(2, seq(ay-ycorint,by+ycorint,ycorint),lwd=2 , lty='dotted') } } ##EX:灰色 (在r=g=b) background2_4(x , y, r = 0.1, g = 0.1, b = 0.1) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.191.14 ※ 編輯: josephw 來自: 140.113.191.14 (05/19 15:19)
Y0SHIKI:不錯不錯 作業交很快喔!!:D 05/19 15:57
josephw:這個挺立體的XD 不過裡面跑迴圈參數還不夠一般... 05/19 16:57
josephw:要改成不用手動改才行 05/19 16:57
shyfang:真真不錯啊 05/19 17:14