Hatena::ブログ(Diary)

驚異のアニヲタ社会復帰への道

Prima Project

2012-04-28

Mac OSXのRで日本語をプロットしたい

R13.2なのだが、Macプロットするとき、日本語がたいてい化ける。

テキストエンコーディング?なにそれおいしいの?という情弱っぷりなので、グーグル先生に聞いた。

R、日本語、プロット、なんかでググるとたくさん出てきた。生態学のデータ解析 - R 作図の日本語表示を参考にすると

setHook(packageEvent("grDevices", "onLoad"),
	function(...){
        if(.Platform$OS.type == "windows")
            grDevices::windowsFonts(sans ="MS Gothic",
                                    serif="MS Mincho",
                                    mono ="FixedFont")
        if(capabilities("aqua"))
            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")),
              serif=grDevices::quartzFont(
                c("Hiragino Mincho Pro W3",
                  "Hiragino Mincho Pro W6",
                  "Hiragino Mincho Pro W3",
                  "Hiragino Mincho Pro W6")))
        if(capabilities("X11"))
            grDevices::X11.options(
                fonts=c("-kochi-gothic-%s-%s-*-*-%d-*-*-*-*-*-*-*",
                        "-adobe-symbol-medium-r-*-*-%d-*-*-*-*-*-*-*"))
        grDevices::pdf.options(family="Japan1GothicBBB")
        grDevices::ps.options(family="Japan1GothicBBB")
        }
)

attach(NULL, name = "JapanEnv")
assign("familyset_hook",
       function() {
            winfontdevs=c("windows","win.metafile",
                          "png","bmp","jpeg","tiff")
            macfontdevs=c("quartz","quartz_off_screen")
            devname=strsplit(names(dev.cur()),":")[[1L]][1]
            if ((.Platform$OS.type == "windows") &&
                (devname %in% winfontdevs))
                    par(family="sans")
            if (capabilities("aqua") &&
                devname %in% macfontdevs)
                    par(family="sans")
       },
       pos="JapanEnv")
setHook("plot.new", get("familyset_hook", pos="JapanEnv"))
setHook("persp", get("familyset_hook", pos="JapanEnv"))

# Winでは Rdevga を触ると, fontfaceに影響するので, より正しくは上記の
# 方法が現在理想とされる設定かもしれません.

# このシステムの開発が終わる事は無いでしょう.

コピペして、システムファイル下に.Rprofileというファイルを作成すれば、起動と同時に読み込んで日本語がプロットできるようになるらしい。

が、ここで問題。.Rprofile、ってどう作るんだ、となって、作り方を有志に聞いた結果、コンソールで

touch ~/.Rprofile

とやれば、ファイルが作成されるので、上のソースをコピペして起動すれば、日本語でプロットできる。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/MikuHatsune/20120428/1335544822