RStudio绘图无法找到字体问题求助(Mac High Sierra环境)
解决RStudio绘图无文字+字体找不到的问题
我之前在Mac High Sierra 10.13.3上用RStudio 1.0.153的时候,也碰到过几乎一模一样的糟心问题!结合自己踩坑的解决经验,给你几个亲测有效的尝试方向:
彻底重置图形设备+加载系统字体
单纯用dev.off()有时候不够彻底,试试先关闭所有图形设备,再用extrafont包扫描并加载系统自带字体——这些字体系统肯定能识别,不会找不到:# 关闭所有活跃的图形设备 while (!is.null(dev.list())) dev.off() # 安装并加载extrafont包 install.packages("extrafont") library(extrafont) # 扫描系统字体(第一次运行会弹窗,选"yes"即可,耗时可能稍长) font_import() # 加载字体到R的绘图设备 loadfonts(device = "postscript") # 测试绘图,指定系统自带字体比如Arial plot(density(rnorm(1000)), family = "Arial", main = "密度图测试", xlab = "数值", ylab = "密度")切换RStudio的图形后端
老版本RStudio默认的图形后端在High Sierra上可能有兼容性bug,试试换成Cairo后端:- 打开RStudio顶部菜单栏的
Tools > Global Options - 切换到
General标签下的Graphics选项 - 把
Backend从Auto改成Cairo - 重启RStudio后再尝试绘图
- 打开RStudio顶部菜单栏的
手动指定字体文件路径
如果上面的方法都不管用,直接硬编码系统字体的绝对路径,绕开R的字体识别问题:# 先查看系统字体目录里的字体(比如Arial的路径) system("ls /Library/Fonts/Arial*") # 用ggplot2绘图的示例(基础绘图同理) library(ggplot2) ggplot(data.frame(x = rnorm(1000)), aes(x = x)) + geom_density() + labs(title = "密度图测试", x = "数值", y = "密度") + theme(text = element_text(family = "/Library/Fonts/Arial.ttf"))检查系统字体权限
有时候High Sierra的字体权限会出问题,导致R识别不到:- 打开Mac的
应用程序 > 字体册 - 点击顶部菜单栏的
文件 > 验证字体,修复报错的字体 - 重启电脑后再打开RStudio尝试绘图
- 打开Mac的
内容的提问来源于stack exchange,提问作者adustybowler
相关产品推荐
相关产品推荐

