LoginSignup
6
7

More than 5 years have passed since last update.

Rでplot(複数データのプロット)

Last updated at Posted at 2017-04-16

Rでできる基礎的プロットからちょっとだけ進歩。

複数のデータ(時系列データなど)を同じ図の中に描くことをやってみます。例によって、いきなりコードの紹介

まずは何も考えずmatplot

とりあえず、やってみます。

qiita.rb
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])

このコードを、Rのコンソール画面にコピペしてエンターを押すと。以下の図が出ます。

matplot1.png

・・・ダサいですね(笑)
Rって万能だと思いきや、いきなりダサいです。言うこと聞いてくれていません。

プログラミング言語は、その名の通り、相手との対話が必要なようです。では、イメージ通りに複数データを表現するには何が足りなかったのでしょう。。。

matplotを基本修正

とりあえず、以下のように変更してみます。

qiita.rb
matplot(x,y4[ ,2:4],type=l)

すると。こうなります。

matplot2.png

おー!なんかそれっぽいです。この調子です。

matplotでよく使うグラフィックパラメーター

そして、plot, matpoltなどで設定したい、基本的なグラフィックパラメーターは以下のものでしょうか。

qiita.rb
#複数のデータをプロット
matplot(x,y4[,2:4],type="b",lwd=1.0,lty=1:3,pch=2:4,xlab=xdata,ylab=ydata")

#凡例を書く
legend(2,10,c("y1","y2","y3"), col=1:3,lty=1:3,pch=2:4)

#表題を書く
title(main=marplot sample,sub=by d-cassette)   

これを実行すると、以下になります。

matplot3.png

とまぁ、この辺はググれば沢山情報はでてきますが、私が個人的によく使うコードを記録してみました。

その他の詳しい情報も含め、以下に記しています。
http://demacassette2.hateblo.jp/entry/2015/01/14/001031

では。

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7