作者Cloie (交集與聯集的契機)
看板NCCU07_STGRA
標題[閒聊] R可以用來幹嘛?
時間Mon Oct 6 23:25:58 2008
哈哈~
送給大家一個雙十節禮物~
咱家發現個有趣的東西~
就拿來改改…
發現R可以畫" "。
留待給有興趣的看倌瞧一下
首先,要先下載gridBase這個package。
然後,再複製貼上以下提供給各位的程式。
library(gridBase)
pushViewport(viewport(xscale=c(0,1),yscale=c(0.5,1),clip=TRUE))
res=50
for(i in 1:res)
grid.rect(y=1-(i-1)/res,just="top",gp=gpar(col=NULL,fill=grey(0.5*i/res)))
moon=function(x,y,size){
angle=seq(-90, 90, length=50)/180*pi
x1=x + size*cos(angle)
y1=y + size*sin(angle)
mod=0.8
x2=x + mod*(x1 - x)
grid.polygon(c(x1,rev(x2)),c(y1,rev(y1)),default.unit="native",
gp=gpar(col=NULL, fill="yellow"))
}
moon(.1,0.9,0.04)
star=function(x,y,size){
x1=c(x,x+size*.1,x+size*.5,x+size*.1,x,x-size*.1,x-size*.5,x-size*.1)+.05
y1=c(y-size,y-size*.1,y,y+size*.1,y+size*.7,y+size*.1,y,y-size*.1)+.05
grid.polygon(x1,y1,default.unit="native",gp=gpar(col=NULL, fill="purple"))
}
star(0.6,0.8,0.02)
star(0.5,0.7,0.02)
star(0.8,0.9,0.02)
star(0.72,0.74,0.02)
star(0.62,0.88,0.02)
grid.circle(runif(20,0.2,1),runif(20,0.6,1),r=0.002,default.unit="native",
gp=gpar(col=NULL,fill="white"))
hill=function(height){
n=100
x=seq(0,1,length=n)
y1=sin(runif(1)+x*2*pi)
y2=sin(runif(1)+x*4*pi)
y3=sin(runif(1)+x*8*pi)
y=0.6+height*((y1+y2+y3)/3)
grid.polygon(c(x,rev(x)),c(y,rep(0,n)),default.unit="native",
gp=gpar(col=NULL,fill="darkgreen"))
}
hill(0.12)
hill(0.06)
rdir=function(n){sample(seq(-45, 45, length=10), n)/180*pi}
grid.text("Sometimes...R is funny!!!顆顆",x=.35, y=.51, just="bottom",
default.unit="native",gp=gpar(col="pink",fontface="italic",
fontsize=20))
popViewport()
grid.rect()
--
開瓊筵以坐花,飛羽觴而醉月。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.150.101
※ 編輯: Cloie 來自: 140.119.150.101 (10/06 23:27)
推 kcjojo:你好厲害喔 10/06 23:37
→ Cloie:我根本東抄西抄~哈哈 10/06 23:40
※ lulala530:轉錄至看板 NCCU08_STGRA 10/06 23:43
推 beyondcloud:R is funny!!!顆顆 10/07 00:28
推 dpupu:我討厭R(丟) 10/07 02:21