グラフで、日本語が化ける時の対策。
par() で、family を適切に設定すれば対応できるが、
~/.Rprofile に、「オマジナイ」を記述することでもできると、ネットの情報にあった。
いろいろなサイトの情報を参考に、「オマジナイ」は、以下の内容になった。
$ cat ~/.Rprofile
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("cairo"))
grDevices::X11.options( type = "cairo"
)
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","RStudioGD")
macfontdevs=c("quartz","quartz_off_screen","RStudioGD")
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")
par(family="serif")
},
pos="JapanEnv")
setHook("plot.new", get("familyset_hook", pos="JapanEnv"))
setHook("persp", get("familyset_hook", pos="JapanEnv"))