Rで2軸PLOT(y軸の左右に値を表記)する方法
以下のようにplot⇒par⇒plot⇒axis(4)と関数を順に書けばいいっぽい。
二個目に書いたplotの軸が第二軸としてaxis(4)により描画される。
x <- seq(0,13,0.01) plot(x, dexp(x), type = "l", ylab = "", col = 'red') par(new =T) plot(x, dnorm(x -10), type = "l", axes = FALSE, ylab = "", col = 'blue') axis(4)
描画結果は以下の通り。
y軸(左)が一個目のplot結果であるdexp関数の値で、y軸(右)が二個目のplot結果であるdnorm関数の値。
〜2012/1/16追記〜
上の例で第二軸にラベルを入れたい場合は以下のように書くといいようだ。
x <- seq(0,13,0.01) default.par <- par() mai <- par()$mai mai[4] <- mai[1] par(mai = mai) plot(x, dexp(x), type = "l", ylab = "dexp", col = 'red') par(new =T) plot(x, dnorm(x -10), type = "l", axes = FALSE, ylab = "", col = 'blue') axis(4) mtext("dnorm", side = 4, line = 3) par(default.par)
maiを調整して、左軸と同じだけ右軸にも余白を持たせて、mtext関数で右軸にラベルを表示している。なおmtextの引数では、sideで軸を指定して、lineで軸からどれくらいずらした位置にラベルを入れるのかを決めている。最後にデフォルトの設定に戻しておしまい。結果として以下のような図になる。