在grid.Call(L_textBounds,as.graphicsAnnot(X $标签),X $ X,X $ Y,错误:多边形边缘未找到

use*_*491 47 r ggplot2

我刚刚在Mac OS X上安装了RStudio,版本10.7.3执行以下命令后

library(ggplot2)
qplot(mpg, wt, data=mtcars)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error in grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  : 
  Polygon edge not found
In addition: Warning messages:
1: In grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  :
  no font could be found for family "Arial"
2: In grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  :
  no font could be found for family "Arial"
Run Code Online (Sandbox Code Playgroud)

任何想法,重启都没有用!!

干杯

pis*_*nut 39

这发生在我身上,我发现arial字体文件已被禁用.首先检查是否Arial.ttf已移至已禁用的字体目录.从终端:

ls /Library/Fonts\ Disabled
Run Code Online (Sandbox Code Playgroud)

如果是这样,请将其移回活动字体目录.

sudo mv /Library/Fonts\ Disabled/Arial.ttf /Library/Fonts
Run Code Online (Sandbox Code Playgroud)

注销,登录,然后打开"Font Book"应用程序.在我的情况下,arial存在于手中,但它是存储在Microsoft版本中的/Library/fonts/Microsoft/.字体书现在可以在字体名称旁边显示一个黄色三角形,表示存在多个字体副本.突出显示字体名称并Resolve DuplicatesEdit菜单中选择命令.这应该禁用Microsoft副本,您可以通过选择其中一个arial类型面来确认(单击字体名称旁边的展开三角形),右键单击标记的那个Off,然后选择Reveal in Finder,这应该打开一个窗口到Microsoft字体目录.

  • @pistachionut.当我第一次遇到这个错误时,你的方法确实有帮助,但是尽管启用了Arial.ttf,当我使用grid.arrange()时,这个bug仍然会出现.奇怪的是,这似乎是随机发生的 - 如果我多次重复相同的调用,我偶尔得到一个情节,并在其余的时间遇到​​错误信息!在为GIF动画生成复杂图时,这尤其令人沮丧. (5认同)
  • 谢谢!为我工作.似乎Microsoft Office是罪魁祸首. (2认同)
  • @GChalancon也在这里.我尝试移动`Arial.ttf`文件,它适用于一个图表,其余图表仍然返回错误. (2认同)

小智 14

因此,我在几周之前使用的代码遇到了同样的问题,并且计算机上没有任何大量更新(除了操作系统,现在我开始考虑它......).我解决它的方式是我通过调用强制打开图形窗口

quartz()
Run Code Online (Sandbox Code Playgroud)

在我的图表之前,它完成了诀窍.仍然不确定字体,我似乎有Arial到位.


Nel*_*Gon 7

经过几次试验,我认为这个“修复”可能会有所帮助。首先尝试运行它以确保字体确实存在:

loadfonts(dev="win")
Run Code Online (Sandbox Code Playgroud)

如果他们这样做,请调用以下命令以确保您调用的名称与 R 知道的名称相似:

windowsFonts()
Run Code Online (Sandbox Code Playgroud)

否则,请尝试以下操作:

library(extrafont)
extrafont::font_import()
Run Code Online (Sandbox Code Playgroud)

以上为我解决的问题。希望将来有人可以得到同样的帮助。

  • 谢谢 - 在 2021 年在 Win10 上使用 R 版本 4.0.2 加载 extrafont 库对我有用。 (2认同)

Kon*_*rad 5

在反复遇到相同问题并尝试不同的解决方案之后,我决定从外部采购Arial字体并将其添加到“ 字体书”中。在进行此练习之前,我有MS Office附带的许多字体,例如Arial Black,Arial Narrow等,因此看不到但没有Arial字体。我猜这可以用Mac上的MS应用程序所采用的奇数字体策略来解释,这在这里进行了更详细的讨论。不过,看来从外部添加字体可以解决此问题。

所有字体


use*_*008 5

我向 qqplot() 函数添加了一个额外的参数,如下所示:

theme(text=element_text(family="Garamond", size=14))
Run Code Online (Sandbox Code Playgroud)

果然 - 得到了一张图表。那么最终结果是:

ggplot(train, aes(x = pclass, fill = factor(survived))) +
  geom_bar() +
  xlab("Pclass") +
  ylab("Total Count") +
  labs(fill = "Survived") +
  theme(text=element_text(family="Garamond", size=14))
Run Code Online (Sandbox Code Playgroud)

我确实打开了 Font Book,并且在我的系统 (Mac OSX 10.12.3) 上显示 Arial 已关闭。我确实安装了 Microsoft 应用程序,包括 MS Excel,但目前我无法将任何字体的禁用与任何 MS 应用程序的安装关联起来。华泰