作者josephw (With or Without u)
看板NCTU-STAT95G
標題Re: [分享]彩色無痕跡平面版 漸層背景!
時間Mon May 19 14:44:03 2008
##從中間開始漸層
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)
1F:推 Y0SHIKI:不錯不錯 作業交很快喔!!:D 05/19 15:57
2F:→ josephw:這個挺立體的XD 不過裡面跑迴圈參數還不夠一般... 05/19 16:57
3F:→ josephw:要改成不用手動改才行 05/19 16:57
4F:推 shyfang:真真不錯啊 05/19 17:14