Rでプロット(複数のデータを散布図で描く)


前回のエントリで、Rの超基礎的プロットを記録しました。

今日は、その基礎的プロットからちょっとだけ進歩。複数のデータ(時系列データなど)を同じ図の中に描くことをやってみます。

例によって、いきなりコードの紹介

x <- 1:10

y1 <- 0.8*x
y2 <- 1.0*x
y3 <- 1.2*x
 
y4 <- matrix(0,10,4) 
 
y4[ ,1] <- x
y4[ ,2] <- y1
y4[ ,3] <- y2
y4[ ,4] <- y3
 
matplot(x,y4[ ,2:4])

 

すると、以下の図が出ますね。

f:id:demacassette:20150113231906p:plain

なんだか、ださいですね(笑)

ということで、ここからグラフィックパラメータを用いて、グラフを彩ります。

matplot(x,y4[ ,2:4],type=“l”)

f:id:demacassette:20150113232603p:plain

こうなります。plot, matplotのコマンドの中に、線種(lty)、線の太さ(lwd)、マーカーの種類(pch)、ま、一個ずつやったら長くなるので。。。

凡例、軸ラベル、タイトルをつけるコードは以下のようになります。

matplot(x,y4[ ,2:4],type="b",lwd=1.0,lty=1:3,pch=2:4, xlab=“x data”,ylab=“y data")    #複数のデータをプロット
legend(2,10,c("y1","y2","y3"),col=1:3,lty=1:3,pch=2:4)    #凡例を書く
title(main=“marplot sample”,sub=“by demacassette2.0”)   #表題を書く

 結果

f:id:demacassette:20150114000614p:plain

ってな感じです。グラフィックパラメータはたくさんあるので、

Rのグラフィックパラメータ(RjpWiki)

R-tips グラフィックパラメータ(弐)

などをご参照ください。私がメインで使っているのは例で示したものです。