1. 程式人生 > >R語言-線圖(二)

R語言-線圖(二)

 

1.線圖示例

plot()為高水平作圖命令,axis()、lines()、legend()都為低水平作圖命令

> rain<-read.csv("cityrain.csv") 
> plot(rain$Tokyo,type="b",lwd=2,                     #type ="b"表示即畫散點也畫直線,lwd設定線寬
+ xaxt="n",ylim=c(0,300),col="black",                 #xaxt="n"表示不顯示X軸刻度
+ xlab="Month",ylab="Rainfall (mm)", 
+ main="Monthly Rainfall in major cities") 
> axis(1,at=1:length(rain$Month),labels=rain$Month)     #畫座標軸,1表示方向
> lines(rain$Berlin,col="red",type="b",lwd=2) 
> lines(rain$NewYork,col="orange",type="b",lwd=2) 
> lines(rain$London,col="purple",type="b",lwd=2) 
> legend("topright",legend=c("Tokyo","Berlin","New York","London"),  #增加圖例
+ lty=1,lwd=2,pch=21,col=c("black","red","orange","purple"),    #lty設定線形,pch設定線上點的形狀
+ ncol=2,bty="n",cex=0.8,                                       #ncol=2表示圖例為兩列,bty="n"表示圖例沒有邊框
+ text.col=c("black","red","orange","purple"),                  #圖例中字型顏色
+ inset=0.01)                                                   #圖例與邊緣的距離

2.用線圖描畫時間序列

> gdp<-read.table("gdp_long.txt",header=T) 
> library(RColorBrewer) 
> pal<-brewer.pal(5,"Set1")                                      #用調色盤包生成5種顏色 
> par(mar=par()$mar+c(0,0,0,2),bty="l")                          #mar留白邊
> plot(Canada~Year,data=gdp,type="l",lwd=2,lty=1,ylim=c(30,60), 
+ col=pal[1],main="Percentage change in GDP",ylab="") 
> mtext(side=4,at=gdp$Canada[length(gdp$Canada)],text="Canada",  #標識文字,side設定方向,at設定位置
+ col=pal[1],line=0.3,las=2)                                     #line設定粗細,las設定方向
> lines(gdp$France~gdp$Year,col=pal[2],lwd=2) 
> mtext(side=4,at=gdp$France[length(gdp$France)],text="France", 
+ col=pal[2],line=0.3,las=2) 
> lines(gdp$Germany~gdp$Year,col=pal[3],lwd=2) 
> mtext(side=4,at=gdp$Germany[length(gdp$Germany)],text="Germany",
+ col=pal[3],line=0.3,las=2) 
> lines(gdp$Britain~gdp$Year,col=pal[4],lwd=2) 
> mtext(side=4,at=gdp$Britain[length(gdp$Britain)],text="Britain", 
+ col=pal[4],line=0.3,las=2) 
> lines(gdp$USA~gdp$Year,col=pal[5],lwd=2) 
> mtext(side=4,at=gdp$USA[length(gdp$USA)]-2,                  #位置下調2刻度
+ text="USA",col=pal[5],line=0.3,las=2)