R 使い方 複数のグラフを並べる グラフの描き方

バイオインフォ道場、くまぞうです。

Rでグラフを並べてみましょう。似たようなデータや条件を変えたデータを比較する場合に、わかりやすくなります。注意点や工夫すべきポイントをまとめます。並べるという観点で別の記事を整理しました。

スポンサーリンク



関連記事 複数のグラフを描画するときに使えると便利!「重ねる」と「上下・左右分割」

グラフを並べる(グラフ領域の分割)

横(左右)に並べる

はじめにlayoutでグラフ描画領域を分割します。分割情報は、マトリックス形式で表現します。グラフを描画すると、順番にそれぞれの領域にグラフが割り当てられます。x軸やy軸の表示範囲をあわせると、さらに見やすくなります。範囲は、xlimylimを使って指定します。

R> layout(matrix(1:2, ncol=2))  # 1行2列に分割
R> plot(Sepal.Length ~ Sepal.Width, data=iris)
R> plot(Petal.Length ~ Petal.Width, data=iris)

plot_double

他の方法です。split.screenで分割することもできます。出力先を明示的に指定することができます。はじめにsplit.screenでグラフ描画領域を分割します。分割情報は、マトリックス形式で表現します。次に、出力先をscreenで指定してグラフを描画します。

split.screen(c(1,2)) # 1行2列

screen(1)
hist(
  rnorm(1000), 
  xlim=c(-10, 10), ylim=c(0, 250), 
  col="#ff000020", 
  main="rnorm1", xlab="range")

screen(2)
hist(
  rnorm(1000), 
  xlim=c(-10, 10), ylim=c(0, 250),
  col="#0000ff20", 
  main="rnorm2", xlab="range")

hist3

縦(上下)に並べる

split.screenで分割してみます。分割情報のマトリックスを1行2列に変更します。あとは同じです。

split.screen(c(2,1)) # 2行1列

screen(1)
hist(
  rnorm(1000),
  xlim=c(-10, 10), ylim=c(0, 250), 
  col="#ff000020", 
  main="rnorm1", xlab="range")

screen(2)
hist(
  rnorm(1000), 
  xlim=c(-10, 10), ylim=c(0, 250), 
  col="#0000ff20", 
  main="rnorm2", xlab="range")

hist4

スポンサーリンク



One thought to “R 使い方 複数のグラフを並べる グラフの描き方”

コメントは受け付けていません。