R 使い方 グラフ重ねる・グラフ分割「上下・左右」 グラフの描き方

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

R で複数のグラフを描画する際、いろいろな描き方を知っていると役に立つことがあります。よく用いられる「重ねる」「画面を分割する」について、まとめます。

スポンサーリンク



「R」で複数のグラフを描画する

例として、正規分布に従う乱数(1000個)でのヒストグラム描画を使います。

hist(rnorm(1000, mean=0, sd=1), main="rnorm")

hist1

2つのグラフを重ねる

ヒストグラムを2つ描画します。1つのキャンパス内で重ねて描いています。重なり具合がわかりやすいように、色に透過率(col最後の2桁)を指定しています。グラフを重ねる時は、addパラメータにTRUEを指定します。

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

hist(
  rnorm(1000, mean=2, sd=1),
  xlim=c(-10, 10), ylim=c(0, 250),
  col="#0000ff20",
  main="rnorm", xlab="range",
  add=TRUE)

hist2

2つのグラフを分ける(上下に分割/左右に分割)

ヒストグラムを2つ描画します。1つのキャンパスを上下・左右に分割し、それぞれに描画します。キャンパスの分割は「split.screen」で行い、描画するときにスクリーンを指定します。

上下に分割

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

左右に分割

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

まとめ

複数のグラフを描画する場合は、重ねたり・あえて分割するなどの工夫で理解を助ける場合があります。「R」では、簡単にグラフを描画することができるので、色々と試してみて下さいね!

スポンサーリンク