64

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

library(ggplot2)
qplot(mpg, wt, data=mtcars)

我收到以下错误:

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"

我该如何解决?

4

16 回答 16

45

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

ls /Library/Fonts\ Disabled

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

sudo mv /Library/Fonts\ Disabled/Arial.ttf /Library/Fonts

注销,登录,然后打开“字体簿”应用程序。就我而言,之前存在 arial,但它是存储在/Library/fonts/Microsoft/. Font Book 现在可能会在字体名称旁边显示一个黄色三角形,表示存在多个字体副本。突出显示字体名称并从菜单中选择Resolve Duplicates命令。Edit这应该禁用 Microsoft 副本,您可以通过选择其中一个 arial 字体来确认(单击字体名称旁边的展开三角形),右键单击标记为 的字体Off,然后选择Reveal in Finder,这应该会打开一个 Microsoft 字体窗口目录。

于 2012-06-13T22:05:01.077 回答
20

所以我在几周前工作的代码遇到了同样的问题,并且没有对计算机上的任何内容进行大规模更新(也许除了操作系统,现在我开始考虑它......)。我解决它的方法是我通过调用强制图形窗口首先打开

quartz()

在我的图表之前,它成功了。仍然不确定字体,我似乎有 Arial。

于 2015-07-18T20:12:17.800 回答
9

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

loadfonts(dev="win")

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

windowsFonts()

否则,请尝试以下操作:

library(extrafont)
extrafont::font_import()

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

于 2019-01-06T06:29:25.897 回答
5

在一次又一次地遇到同样的问题并尝试不同的解决方案后,我决定从外部获取Arial字体并将其添加到Font Book。在这个练习之前,我有一些 MS Office 附带的字体,比如 Arial Black、Arial Narrow 等,所以没有但没有可见的纯Arial字体。我猜这可以通过 Mac 上的 MS 应用程序正在应用的奇怪字体策略来解释,这里有更详细的讨论。尽管如此,从外部添加字体似乎解决了这个问题。

所有字体

于 2016-02-13T17:25:18.230 回答
4

正如其他人所引用的那样,这个问题似乎肯定与 Microsoft Office 升级有关(我的公司在问题浮出水面之前刚刚升级了软件)。

在尝试运行一个简单的 ggplot2 绘图后,我收到以下错误和警告:

Error in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  : 
  polygon edge not found
Warning messages:
1: In grid.Call(C_stringMetric, as.graphicsAnnot(x$label)) :
  no font could be found for family "Arial"

我通过执行以下操作解决了这个问题:

(1) 打开字体册

(2) 导航到 Arial 字体

(3) 右键->“恢复字体”

然后剧情完美呈现。

我希望这有帮助!

于 2018-06-05T11:38:55.067 回答
3

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

theme(text=element_text(family="Garamond", size=14))

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

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))

我确实打开了字体册,在我的系统(Mac OSX 10.12.3)上显示 Arial 已关闭。我确实安装了包括 MS Excel 在内的 Microsoft 应用程序,但此时我无法将禁用任何字体与安装任何 MS 应用程序关联起来。高温高压

于 2017-03-24T23:18:13.620 回答
3

对于 mac 操作系统,我尝试了很多选项,但最终以下工作。- 打开字体书并删除禁用(启用)arial 字体。- 重新启动计算机。

于 2018-05-29T04:53:10.900 回答
2

我遇到了同样的问题,重置绘图区域(dev.off())就足够了。

于 2021-01-11T12:03:19.583 回答
2

我通过转到字体书,转到文件 - > 恢复标准字体来解决。

于 2016-05-01T08:15:18.110 回答
1

I ran into the same problem (interestingly, I received the error when calling the "spplot" function rather than any of the ggplot2 functions). Because I had recently installed MS Office for Mac, I tried disabling the MS duplicate Arial font as was previously suggested, but still received the error message repeatedly even after doing this. I ended up simply removing all MS Office duplicate fonts (Go-->Computer-->Macintosh HD--->Library-->Fonts and then move the Microsoft folder to the trash). I'm not sure what effect this will have on my MS applications, but it seems to have remedied my R issues, which is more important to me at this point anyway!

于 2014-09-17T17:49:19.583 回答
1

在 MacOS 上工作时,我收到了相同的错误消息,其中提到的警告不是 Arial,而是 Roboto Condensed 字体。所以我安装了那些,它删除了警告,但没有错误消息。

Error in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  : 
  polygon edge not found

然后我在https://community.rstudio.com/t/still-fighting-with-grid-call-c-textbounds-as-graphicsannot-x-label-xxxy-polygon-edge-not-found-error/找到65559重新安装 X11 的提示https://www.xquartz.org

之后错误消失了......但是当代码在 R 文件中时它仍然没有绘图。不过,当我在 RStudio 中从 R-markdown 文档中编织时,它确实有效。

于 2020-07-12T15:53:16.800 回答
0

我在这方面并不是那么出色,以至于我可以不先问最基本的问题,请原谅我:slight_smile:

我知道 R 控制台作业和 Rstudio 都开始在他们的图形绘图任务中失败,现在当你运行琐碎的绘图请求时,你会收到失败错误,并且没有绘图。

你重置会话了吗?(Ctrl+Shift+F10) 有时会话毕竟会损坏。

或者,如果您想在该路线之前尝试其他东西,则可能值得停止图形设备。dev.off() 并再次尝试该基本情节。

当然,如果您的问题持续存在,直到新的会议,那么我肯定会放弃支持具有更多专业知识的其他人来考虑这个问题。

问候,尼尔

于 2021-01-03T17:36:38.013 回答
0

奇怪的错误。但对我来说,在 mac 上,解决方案很简单:只需更新 Xquartz。

cmd用+打开聚光灯搜索space,搜索 Xquartz

打开后,转到关于 -> 检查更新 -> 更新。

于 2021-04-24T02:31:57.647 回答
0

我在使用该函数时遇到了类似的问题:

ggarrange (ggpubr package)    

它是通过手动停用和激活包来解决的(通过单击“包”中的包)。也许这也对其他人有帮助:)

于 2018-04-04T14:36:01.023 回答
0

在更新我的操作系统和全新安装 MS Office 后,我遇到了同样的问题,这似乎是罪魁祸首。

由于我无法使用终端方法,我只是直接进入字体手册并手动启用禁用的字体(Arial、Times New Roman、Verdana)。重新启动后,现在一切似乎都工作正常。

这让我觉得这是最天真的解决方案,但它也最容易实现恕我直言。

于 2016-04-26T17:24:22.167 回答
-1

作为快速测试此错误是否是字体相关问题的结果,您可以尝试不使用任何文本进行绘图(请参见下面的代码)。如果第二个无文本情节有效并且您在 Mac 上,我使用与其他人类似的方法并执行以下操作:

  1. 点击 Command-Space 并键入Font Book以打开该应用程序
  2. 右键单击 Arial 并选择Disabled Arial
  3. 右键单击 Arial 并选择Enable Arial
  4. 提示Resolve Duplicates选择时Resolve Automatically
  5. 退出 RStudio 并重新打开 RStudio(我不需要重新启动计算机)
  6. 重新运行一些绘图代码,它工作正常,没有错误
    # test whether error is being generated by a font issue

    library(ggplot2)

    # this fails with font issue
    mtcars %>% 
      ggplot() + 
        aes(x = wt, y = mpg) + 
        geom_point()

    # remove all fonts to test if issue is font-related
    mtcars %>% 
      ggplot() + 
        aes(x = wt, y = mpg) + 
        geom_point() + 
        theme(text = element_blank())
于 2021-05-27T23:02:49.960 回答