mac R のplotで日本語の表示をする
Rという統計解析ソフトがあります。
ボクも好んでよく使っています。
しかし、macでRを使うときの問題点が、
plotで日本語が表示されないということ。
(デフォルトで出来る方もいるんですかね。。)
そこで色々調べながら試行錯誤…。
30分くらいかかっちゃいましたが、
なんとか表示させることができました。
同じような問題点を抱えている方で、
なにやら面倒だなという方もいると思うので、
この機会にまとめておきたいと思います。
なお、なぜそれで出来るようになるのかは正直よくわかりません!
一応、コマンド入力などは自己責任でお願いします。
執筆日:2013年6月13日
OS : mac OS X
R version 2.15.2 (2012-10-26)
【0】文字化けしてるか確認
Rで
> plot(1,1,main="テスト")
などを打ち込んで、日本語が文字化けしているかを確認。
【2】ターミナルを開いてコマンドを入力
<ターミナルの居場所>
Launchpad > その他 にボクの場合はありました。
今後も使うことがあると思うので、Dockに格納しておくのも手です。
<隠しファイルを表示する>
ターミナルに以下を入力する
隠しファイルを表示↓
defaults write com.apple.finder AppleShowAllFiles TRUE
Finderを一旦閉じる↓
killall Finder
(なお、非表示にしたいときは、
defaults write com.apple.finder AppleShowAllFiles FALSE
と入力)
<.Rprofileを作成>
ターミナルに以下を入録する
touch ~/.Rprofile
【3】Finder > ホームディレクトリ(pcの名前のフォルダ)にある.Rprofileを編集する
この際に、miなどのテキストエディタで開いて、
以下のスクリプトをコピペして、保存する。
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に影響するので, より正しくは上記の
# 方法が現在理想とされる設定かもしれません.
# このシステムの開発が終わる事は無いでしょう.
http://d.hatena.ne.jp/MikuHatsune/20120428/1335544822(より引用)
【4】Rを再起動して、再度plotをして、日本語が表示されるかを確認。
参考URL
かず