http://www.r-project.org/ ==================讀資料====================== library(RODBC) library(audio) people=odbcConnectExcel("people.xls") f=sqlQuery(people,"select*from[ageF$]") m=sqlQuery(people,"select*from[ageM$]") age.all=sqlQuery(people,"select*from[age.all$]") d=sqlQuery(people,"select*from[total$]") imm=sqlQuery(people,"select*from[imm$]") f=as.matrix(f) m=as.matrix(m) age.all=as.matrix(age.all) d=as.matrix(d) imm=as.matrix(imm) age=c("0~9 ","10~19 ","20~29 ","30~39 ","40~49 ","50~59 ","60~69 ","70~79 ","80~89 ","90~ ") #==================迴圈(連續-人口金字塔)====================== par(mfcol=c(1,2)) for(i in 1:35){ year=1974+i barplot(-m[i,],horiz=T,main=year,col=5,space=0,name="");barplot(f[i,],horiz=T,col=6,space=0,name="") axis(2,at=c(1:10)-0.5,labels=age,las=1,lty=0) wait(0.5) } #==================迴圈(全部圖展開-人口金字塔)====================== par(mai=c(0.1,0.1,0.1,0.1),mfrow=c(7,10)) for(i in 1:35){ year=1974+i barplot(-m[i,],horiz=T,main=year,col=5,space=0,name="",axes=F);barplot(f[i,],horiz=T,col=6,space=0,name="",axes=F) } g ==================沒用迴圈(連續-人口金字塔)====================== par(mfcol=c(1,2)) barplot(-m[1,],horiz=T,main="1975年",col=5,space=0,name="");barplot(f[1,],horiz=T,col=6,space=0,name="") axis(2,at=c(1:10)-0.5,labels=age,las=1,lty=0,cex.axis=1.1) barplot(-m[2,],horiz=T,main="1976年",col=5,space=0,name="");barplot(f[2,],horiz=T,col=6,space=0,name="") barplot(-m[3,],horiz=T,main="1977年",col=5,space=0,name="");barplot(f[3,],horiz=T,col=6,space=0,name="") barplot(-m[4,],horiz=T,main="1978年",col=5,space=0,name="");barplot(f[4,],horiz=T,col=6,space=0,name="") barplot(-m[5,],horiz=T,main="1979年",col=5,space=0,name="");barplot(f[5,],horiz=T,col=6,space=0,name="") barplot(-m[6,],horiz=T,main="1980年",col=5,space=0,name="");barplot(f[6,],horiz=T,col=6,space=0,name="") barplot(-m[7,],horiz=T,main="1981年",col=5,space=0,name="");barplot(f[7,],horiz=T,col=6,space=0,name="") barplot(-m[8,],horiz=T,main="1982年",col=5,space=0,name="");barplot(f[8,],horiz=T,col=6,space=0,name="") barplot(-m[9,],horiz=T,main="1983年",col=5,space=0,name="");barplot(f[9,],horiz=T,col=6,space=0,name="") barplot(-m[10,],horiz=T,main="1984年",col=5,space=0,name="");barplot(f[10,],horiz=T,col=6,space=0,name="") barplot(-m[11,],horiz=T,main="1985年",col=5,space=0,name="");barplot(f[11,],horiz=T,col=6,space=0,name="") barplot(-m[12,],horiz=T,main="1986年",col=5,space=0,name="");barplot(f[12,],horiz=T,col=6,space=0,name="") barplot(-m[13,],horiz=T,main="1987年",col=5,space=0,name="");barplot(f[13,],horiz=T,col=6,space=0,name="") barplot(-m[14,],horiz=T,main="1988年",col=5,space=0,name="");barplot(f[14,],horiz=T,col=6,space=0,name="") barplot(-m[15,],horiz=T,main="1989年",col=5,space=0,name="");barplot(f[15,],horiz=T,col=6,space=0,name="") barplot(-m[16,],horiz=T,main="1990年",col=5,space=0,name="");barplot(f[16,],horiz=T,col=6,space=0,name="") barplot(-m[17,],horiz=T,main="1991年",col=5,space=0,name="");barplot(f[17,],horiz=T,col=6,space=0,name="") barplot(-m[18,],horiz=T,main="1992年",col=5,space=0,name="");barplot(f[18,],horiz=T,col=6,space=0,name="") barplot(-m[19,],horiz=T,main="1993年",col=5,space=0,name="");barplot(f[19,],horiz=T,col=6,space=0,name="") barplot(-m[20,],horiz=T,main="1994年",col=5,space=0,name="");barplot(f[20,],horiz=T,col=6,space=0,name="") barplot(-m[21,],horiz=T,main="1995年",col=5,space=0,name="");barplot(f[21,],horiz=T,col=6,space=0,name="") barplot(-m[22,],horiz=T,main="1996年",col=5,space=0,name="");barplot(f[22,],horiz=T,col=6,space=0,name="") barplot(-m[23,],horiz=T,main="1997年",col=5,space=0,name="");barplot(f[23,],horiz=T,col=6,space=0,name="") barplot(-m[24,],horiz=T,main="1998年",col=5,space=0,name="");barplot(f[24,],horiz=T,col=6,space=0,name="") barplot(-m[25,],horiz=T,main="1999年",col=5,space=0,name="");barplot(f[25,],horiz=T,col=6,space=0,name="") barplot(-m[26,],horiz=T,main="2000年",col=5,space=0,name="");barplot(f[26,],horiz=T,col=6,space=0,name="") barplot(-m[27,],horiz=T,main="2001年",col=5,space=0,name="");barplot(f[27,],horiz=T,col=6,space=0,name="") barplot(-m[28,],horiz=T,main="2002年",col=5,space=0,name="");barplot(f[28,],horiz=T,col=6,space=0,name="") barplot(-m[29,],horiz=T,main="2003年",col=5,space=0,name="");barplot(f[29,],horiz=T,col=6,space=0,name="") barplot(-m[30,],horiz=T,main="2004年",col=5,space=0,name="");barplot(f[30,],horiz=T,col=6,space=0,name="") barplot(-m[31,],horiz=T,main="2005年",col=5,space=0,name="");barplot(f[31,],horiz=T,col=6,space=0,name="") barplot(-m[32,],horiz=T,main="2006年",col=5,space=0,name="");barplot(f[32,],horiz=T,col=6,space=0,name="") barplot(-m[33,],horiz=T,main="2007年",col=5,space=0,name="");barplot(f[33,],horiz=T,col=6,space=0,name="") barplot(-m[34,],horiz=T,main="2008年",col=5,space=0,name="");barplot(f[34,],horiz=T,col=6,space=0,name="") barplot(-m[35,],horiz=T,main="2009年",col=5,space=0,name="");barplot(f[35,],horiz=T,col=6,space=0,name="") ==================連續圖(人口走勢圖-年)====================== ###出生人口(男、女、總)走勢 t0=array(dim=35) for (i in 1:35){ t0[i]=age.all[(i+2*(i-1)),1] } #出生總人數 tm=array(dim=35) for (i in 1:35){ tm[i]=age.all[(i+2*(i-1)+1),1] } #出生人數(男) tf=array(dim=35) for (i in 1:35){ tf[i]=age.all[(i+2*(i-1)+2),1] } #出生人數(女) par(mfcol=c(1,1)) matplot(c(1975),c(t0[1]),type="n",col=2,xlim=c(1975,2015),ylim=c(10000,500000),xlab="",ylab="") wait(3) for (i in 1:35){ matplot(c((1974+i):(1974+i+1)),c(t0[i:(i+1)]),lwd=3,type="l",col="green",add=T) matplot(c((1974+i):(1974+i+1)),c(tm[i:(i+1)]),lwd=3,type="l",col=4,add=T) matplot(c((1974+i):(1974+i+1)),c(tf[i:(i+1)]),lwd=3,type="l",col=6,add=T) wait(0.3) } ###出生、死亡人口走勢 par(mfcol=c(1,2)) td=array(dim=35) for (i in 1:35 ){ td[i]=d[i,2] } #死亡人數 matplot(c(1975),c(t0[1]),type="n",col=2,xlim=c(1975,2015),ylim=c(10000,500000),xlab="年",ylab="人數") wait(3) for (i in 1:35){ matplot(c((1974+i):(1974+i+1)),c(t0[i:(i+1)]),lwd=3,type="l",col="green",add=T) matplot(c((1974+i):(1974+i+1)),c(td[i:(i+1)]),lwd=3,type="l",col=8,add=T) wait(0.3) } dp=array(dim=35) for (i in 1:35 ){ dp[i]=d[i,3] } #死亡率 bp=array(dim=35) for (i in 1:35 ){ bp[i]=d[i,5] } #出生率 matplot(c(1975),c(dp[1]),type="n",col=2,xlim=c(1975,2015),ylim=c(1,40),xlab="年",ylab="每千人出生(死亡)人數") wait(3) for (i in 1:35){ matplot(c((1974+i):(1974+i+1)),c(bp[i:(i+1)]),lwd=3,type="l",col="green",add=T) matplot(c((1974+i):(1974+i+1)),c(dp[i:(i+1)]),lwd=3,type="l",col=8,add=T) wait(0.3) }