我试图在RStudio中绘制一个简单的密度图。该图本身显示,但没有文本和此错误消息:
50: In doTryCatch(return(expr), name, parentenv, handler) :
no font could be found for family "Arial"
我尝试过谷歌搜索答案,似乎有几个人遇到了同样的问题,没有找到任何解决方案。
我在MacBook Pro上运行RStudio(版本1.0.153)(High Sierra,10.13.3)
这是我正在运行的完整代码:
lim <- vector()
xn <- vector()
for (j in 1:1000) {
ek <- rexp(10000,1)
i <- 1:10000
xn <- 1/sqrt(i) * sum(ek) - sqrt(i)
lim[j] <- xn[10000]
}
plot(density(lim))
我已经尝试更改字体(Helvetica也无法使用)并使用dev.off()
重置图形。
答案 0 :(得分:2)
我最近在使用High Sierra 10.13.5 RStudio 1.1.453 and R 3.5.0
时遇到了这个问题。我的图表全部显示为无文本,但在运行先前操作系统的Mac上,使用相同版本的R和RStudio可以正常工作。命令warnings()使用以下文本显示错误消息:
找不到“ Arial”家族的字体
我发现High Sierra有时会禁用字体,即使它们在/ Library / Fonts中也是如此。操作系统中有一个名为Font Book.app的新应用程序。一些详细信息是here。
在Font Book应用程序中,我发现Arial确实变灰并关闭。我从弹出菜单中选择了enable
,不得不先重新启动计算机,然后才能在RStudio和R中进行绘图。
答案 1 :(得分:1)
只想添加评论,以防其他用户找到此帮助页面。我有一个与OP非常相似的问题-Mac OS Mojave 10.14.5
,Rstudio 1.1.456
和R 3.6.0
关于R can not find fonts to be used in plotting的一些其他信息
所有基本R,lattice和ggplot都无法获得Arial字体家族,因此我同意这是系统问题,而不是R特有的。我尝试过:
extrafont
软件包和import_font()
或font_add()
无法正常工作,无法解决根本原因对我来说:技巧是为计算机(/ Library / Fonts)和每个用户(/ Users / userid / Library / Fonts)提供单独的字体书库-确保Arial在这两个字体中都有效,我的用户字体库由于某种原因(尽管恢复标准字体)为空-从计算机字体库复制字体并解决了问题。
答案 2 :(得分:0)
在带有RStudio 1.1.463, R 3.5.1
的Mac上也是如此。通过为我的操作系统安装更新(更新为Mojave 10.14.3
)并重新启动计算机,此问题已得到解决。
答案 3 :(得分:0)
在升级到MacOS Catalina Beta 10.15(19A546d)之后,我遇到了与OP类似的问题
在升级MacOS之前,我正在正常运行R 3.6.1,RStudio 1.2.1335。
尝试使用ggplot进行绘图时,我收到了一些相关的错误消息。
grid.Call(C_textBounds,as.graphicsAnnot(x $ label),x $ x,x $ y,:多边形边缘未找到
找不到“ Arial”家族的字体
为解决此问题,我通过以下步骤重新安装了系统默认字体:
答案 4 :(得分:0)
布伦特的答案已经很清楚了。万一如果您的用户路径中没有userid文件夹,并且您的userid无权访问Arial字体,则可以尝试以下方法:
library(showtext) font_add(family = "Arial", regular = "Arial.ttf") ## here is the path to the font to add. showtext.auto()