R语言是一种广泛用于数据分析和可视化的工具,通常使用UTF-8编码格式。但是在使用过程中只能指定单一字体格式,最后指定字体会覆盖之前的指定,或在运行过程中报错。在中文期刊和学位论文中常指定英文字体为“Times New Roman”,中文字体为“宋体”,而在R语言默认字库中“宋体 / Arial(sans)”和“Times New Roman(serif)”不可兼得。有教程使用“showtext”包修改显示字体,但对导出格式有要求,且在某些操作系统或绘图环境中可能会出现乱码或无法正确显示的问题。最好的方式是合并两种字体,类似于Word中设置中英文分别使用不同的字体。
网上关于合并字体教程很多,但实践过程交复杂。此处提供已合并好的字体文件“Renzh”,可直接下载使用。字库设置完成后可一直使用,更新或重装R语言后才需要重新设置。
1. 下载并安装字体
下载位置可自定义,最终会自动安装到Windows字库
下载链接:Renzh-Regular.ttf
链接: https://pan.baidu.com/s/1vZpesw2VbYPkgJ2Ale9czA?pwd=6666 提取码: 6666
用字体查看器打开字体文件并安装
字体查看器
字体预览和安装
查看安装好字体
地址:C:\Windows\Fonts
字体文件
2. 通过查看文件属性获得文件路径
鼠标右键打开文件属性
打开属性文件
查看标准文件名和路径信息
字体属性
3. 导入字体到R语言字库
使用“extrafont”包导入字体
# 安装extrafont包
install.packages(“extrafont”)
library(extrafont)
# 查看字体文件完整路径
list.files("C:/Users/DELL/AppData/Local/Microsoft/Windows/Fonts", pattern = "Renzh", full.names = TRUE)
# 导入指定路径下字体
font_import(paths = "C:/Users/DELL/AppData/Local/Microsoft/Windows/Fonts", pattern = "Renzh-Regular")
# 加载Windows中字体
loadfonts(device = "win")
# 查看字库
windowsFonts()
加载后字库信息
4. 预览
用plot()画图
tiff("D:/test/plot_output.tif", width = 15, height = 8, res = 300, units = "cm")
plot(1:10, main = "Renzh 混合字体", family = "Renzh")
dev.off()
plot_output
用ggplot()画图
ggplot()+
geom_point(aes(x=c(1:10), y=c(10:1)))+
geom_text(aes(x=5, y=5, label="Renzh 混合字体"),size=5)+
theme(text = element_text(family="Renzh"))
ggsave("D:/test/ggplot_output.tif", width = 15, height = 8, dpi = 300, units = "cm", compression="lzw")
ggplot_output