探索R语言绘图中文字体解决方案

R语言对中文实在不友好,本该中文的地儿都成框了,在绘图中添加参数,或者par(family = "Songti SC"),还是觉得不舒服。

image.png

我想探索一个绘图时不用调参数就能解决中文显示问题的办法。

具体操作

  • R语言默认字体
    我查了一下R语言的默认字体,有人说是Arial,我也R语言在未设置其他字体的情况下绘制了一张图,拿给photoshop取匹配字体,结果如下。


    image.png

方案一

如果这样的话,我想进行一次欺骗

  • 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")
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、概念 参考网页字体Serif和Sans-serif的区别及浏览器字体的设置CSS Font知识整理总结 1.F...
    合肥黑阅读 11,517评论 0 12
  • 引用地址:https://segmentfault.com/a/1190000006110417?utm_sour...
    PixelEyes阅读 6,561评论 0 3
  • 大家都知道,在不同操作系统、不同游览器里面默认显示的字体是不一样的,并且相同字体在不同操作系统里面渲染的效果也不尽...
    陈_宣阅读 5,998评论 0 7
  • 今天凌晨,天还黑漆漆的时候,我们已经坐在了飞驰向机场的表哥朋友的车上。 经过繁琐的一道道例行程序,我们终于登上了前...
    素心优游阅读 1,580评论 0 0
  • 是什么组成了我自己? 身体吗? 可 镜子里的那一位 每次定格的都不一样 他可曾被框在镜面中,或相片里? 疼痛吗? ...
    安成_Anson阅读 3,616评论 1 5

友情链接更多精彩内容