如何为R语言bbplot包添加自定义OTF格式字体?
R的bbplot包导入自定义OTF字体的方法
完全可以导入自定义字体,操作步骤如下:
操作步骤
- 安装依赖包
优先选择对OTF格式兼容性更好的showtext和sysfonts工具包,安装代码:
install.packages(c("showtext", "sysfonts"))
- 导入本地OTF字体
加载包后调用font_add函数导入你下载的字体,给字体自定义一个调用名即可:
library(showtext) library(sysfonts) # 第一个参数为自定义的字体调用名,第二个参数为本地OTF字体文件的完整路径 font_add(family = "my_custom_font", regular = "你的字体存放路径/字体文件名.otf") # 开启ggplot自动渲染自定义字体,设置后全局生效 showtext_auto()
如果你的OTF字体已经安装到系统字体库中,大部分系统可以省略完整路径,直接填写字体文件名即可。
- 修改
bbc_style()函数适配自定义字体
可选两种修改方式:
- 直接修改原函数:把原函数开头
font <- "Helvetica"中的"Helvetica"替换为你刚才自定义的字体调用名即可 - 更灵活的修改方式:给函数增加字体参数,不用反复修改源码,调用时按需指定字体即可,修改示例:
# 仅修改函数定义行,增加font参数,剩余原函数的所有配置完全不变 bbc_style <- function(font = "Helvetica") { ggplot2::theme( # 原函数的所有theme配置内容保持不变 ) }
调用时直接指定自定义字体即可:
ggplot(...) + geom_line(...) + bbc_style(font = "my_custom_font")
注意事项
- 导出图片时使用
ggsave建议指定dpi=300,避免字体出现模糊问题 - Windows系统如果出现字体不生效的情况,重启R会话后重新执行上述步骤即可解决
内容的提问来源于stack exchange,提问作者Raisham
相关产品推荐
相关产品推荐

