7

我从这个网站下载了 otf 文件。我的 IT 部门安装了“Font Awesome 5 Free Regular”,我使用了

library(extrafont)
font_import()
loadfonts(device = "win")

我可以看到 Font Awesome,因为“Font Awesome 5 Free Regular”已注册。当我尝试将它与此测试代码一起使用时:

waffle(c(50, 30, 15, 5), rows = 5, use_glyph = "music", glyph_size = 6)

我明白了

Error: FontAwesome not found. Install via: https://github.com/FortAwesome/Font-Awesome/tree/master/fonts

但该链接不会去任何地方。

我想使用 Font Awesome(或一个很好的替代品)来制作有趣的华夫饼图。我是否错误地加载了字体?我错过了更好的选择吗?我一直在使用这篇文章作为指南。我也在stackoverflow 上阅读了一个相关的问题,但它没有帮助。我已经多次重新启动 Rstudio(和计算机)但没有运气。

更新

还是行不通。我已经删除并重新安装了 waffle 和 emojifont 包。我仍然收到错误代码:“错误:找不到 FontAwesome。通过安装:https ://github.com/FortAwesome/Font-Awesome/tree/master/fonts ”

4

4 回答 4

3

对于任何在 2021 年最终来到这里但未能与之合作的人extrafont,这里有一种替代方法:

  1. 使用 Silvicultureist 链接到的旧版 FontAwesome ttf https: //github.com/FortAwesome/Font-Awesome/releases/tag/v4.7.0
  2. 提取fontawesome-webfont.ttf到您的工作目录(或您可以访问的某个目录)
  3. 使用waffle,emojifontshowtext包创建图表,示例代码如下
install.packages(c("waffle", "emojifont", "showtext"))
 
library(waffle)
library(emojifont)
library(showtext)

font_add(family = "FontAwesome", 
         regular = "fontawesome-webfont.ttf")

waffle(c(5,12,18), rows = 5, use_glyph = "subway", glyph_size = 10, 
title = "Subways!", legend_pos="right")
于 2021-06-29T17:34:06.173 回答
2

您可能想尝试使用FontAwesome v. 4.7我遇到了与您相同的问题,但是当我安装 .ttf 版本时它立即自行解决。

于 2019-07-04T15:05:11.377 回答
2

我知道很久以前有人问过这个问题并得到了回答,但答案对我的代码没有帮助,我从这个来源找到了一些东西:https ://www.listendata.com/2019/06/create -infographics-with-r.html 他们有使用 extrafont 库下载 fontawesome 的分步说明。真的很容易。希望这对某人有帮助!基本上,下载 fontawesome-webfont.ttf,然后:

library(extrafont)
extrafont::font_import (path="C:/Users/insert/your/own/path", pattern = "awesome", prompt = FALSE)
loadfonts(device = "win")
# check to see if it works:
fonts()[grep("Awesome", fonts())]
#returns fontawesome

然后use_glyph = 在制作华夫饼图时使用参数。

于 2020-07-07T22:00:15.927 回答
1

如果您要在ggplot2绘图中使用令人敬畏的字体字形,那么您可以使用美妙的emojifont包。无需自己手动添加字体。

library("emojifont")
library("waffle")
waffle(c(50, 30, 15, 5), rows = 5, use_glyph = "music", glyph_size = 4)

这会产生您所追求的图表:

在此处输入图像描述

更新:由于您安装了 otf 字体而不是 ttf 字体,这可能是您的问题的原因。包中的load.fontawesome()函数emojifont有一个默认参数:

load.fontawesome(font = "fontawesome-webfont.ttf")

您可以尝试 1) 安装字体的 ttf 版本或 2) 调用

load.fontawesome(font = "fontawesome-webfont.otf")

在绘图之前(尽管我不确定后者是否可行)。不过值得一试。

于 2018-07-13T11:48:31.333 回答