Rで日本語文字をプロットする

普段は英数字しかプロットに使わないので日本語が書けなくて困ったりはしなかったものの、相談されたので調べてみると、いくつかのブログに対処法が掲載されていました。

まずは

にそのものズバリの対策法が。環境もMax OS X 10.6とR 2.11.0とのことで、最新版に近く、そのまま使えました。

あと、僕はESSを使うこともあるので、上記ブログからリンクされていた

も参考になりました。

結局のところ、やったことといえば、~/.Rprofileを作って、以下のことを書き込んだだけ。

setHook(packageEvent("grDevices", "onLoad"),
        function(...){
            grDevices::quartzFonts(serif=grDevices::quartzFont(
                c("Hiragino Mincho Pro W3",
                  "Hiragino Mincho Pro W6",
                  "Hiragino Mincho Pro W3",
                  "Hiragino Mincho Pro W6")))
            grDevices::quartzFonts(sans=grDevices::quartzFont(
                c("Hiragino Kaku Gothic Pro W3",
                  "Hiragino Kaku Gothic Pro W6",
                  "Hiragino Kaku Gothic Pro W3",
                  "Hiragino Kaku Gothic Pro W6")))
            # grDevices::quartz.options(family="sans")
        }
)
attach(NULL, name = "MacJapanEnv")
assign("familyset_hook",
       function() { if(names(dev.cur())=="quartz") par(family="sans")},
       pos="MacJapanEnv")
setHook("plot.new", get("familyset_hook", pos="MacJapanEnv"))

#setHook(packageEvent("grDevices", "onLoad"),function(...) grDevices::ps.options(family="Japan1"))

options(X11fonts = c("-alias-gothic-%s-%s-*-*-%d-*-*-*-*-*-*-*",
                          "-adobe-symbol-*-*-*-*-%d-*-*-*-*-*-*-*"))

setHook(packageEvent("grDevices", "onLoad"),
        function(...) grDevices::ps.options(family="Japan1Ryumin"))