R语言对中文实在不友好,本该中文的地儿都成框了,在绘图中添加参数,或者par(family = "Songti SC")
,还是觉得不舒服。
我想探索一个绘图时不用调参数就能解决中文显示问题的办法。
具体操作
-
R语言默认字体
我查了一下R语言的默认字体,有人说是Arial,我也R语言在未设置其他字体的情况下绘制了一张图,拿给photoshop取匹配字体,结果如下。
方案一
如果这样的话,我想进行一次欺骗
- mac 本地字体默认位置
/资源库/Fonts/
- 拿出Songti SC.ttf ,拿出来重命名为Arial.ttf,替换原来的Arial.ttf,
- 结果是中文的位置编程了空白
方案二
FontForge合并字体
- 提取要合并的两个字体文件“Songti SC.ttf ”,"Arial.ttf"
- 点击Element->Merge fonts->选择这两个字体文件->ok->File
->Save as (保存为ttf文件) - 将新生成的字体文件替换Arial.ttf
【注】需要保证两个字体文件尺寸差不多
方案三
B站有个up主用的是fontcreator。采用复制粘贴的方式将两个字体合并。
方案四
干脆添加一个启动项吧,也就是说启动R语言的一瞬间,运行par(family = "Songti SC"
1.在R中输入.libPaths
,得到
> .libPaths()
[1] "/Users/song/Library/R/3.5/library" "/anaconda3/lib/R/library"
2.在/anaconda3/lib/R中找到文件 Rprofile
3.在 Rprofile
的最后添加
.First<-function(){
# 加载程序包跟平常一样用library或require
par(family = "Songti SC")
# 我的read_report函数的代码脚本保存在"..:/myfunctions.R"文件里,加载函数用source函数
source("F:/myfunctions.R")
# 启动提示语,可有可无
cat("\nWelcome at",date(),"\n")
}