グラフのlegendの位置の調整について
グラフの凡例は当然描きたいグラフに応じてその”内容”を文字列で設定するわけですが、その凡例の「文字幅」に応じて表示する位置を調整しないといけないわけです。このやり方を最近理解したのでメモ。肝は「legend関数の返り値の$rect$wが凡例の幅になってる」ということ。
以下コード&描画。
#適当なデータ作成 x <- seq.Date(Sys.Date(), Sys.Date() + 9, by = "days") y <- cumsum(rnorm(10)) #データの範囲設定 x.lim <- c(min(x), max(x)) y.lim <- c(min(y) - 1, max(y) + 1) #描画 par(xaxt="n") plot(x, y, xlim = x.lim, ylim = y.lim, pch = 1) par(xaxt = "s") axis.Date(1, at = x, format = "%Y/%m/%d") size <- legend(0, 0, "データ", pch = 1, plot = FALSE) legend(x.lim[2] - size$rect$w, y.lim[2], "データ", pch = 1)