r - Extrafont fonts() 和 fonttable() 返回 NULL
问题描述
问题总结:
我正在按照本指南学习如何使用 R 制作更有趣的数据可视化:https ://www.listendata.com/2019/06/create-infographics-with-r.html
具体来说,我正在研究“在华夫饼中使用图标”部分。该指南说您需要使用一个名为“extrafont”的包,我已经安装并加载了它没有问题,但是当我通过运行fonts()
and检查我是否安装了字体时fonttable()
,我只会得到“NULL”或一个空的数据框。我应该得到一个字体表来显示这些字体可以在 R 中使用。
我尝试了什么:
- 冉图书馆(“华夫饼”)
- 我使用安装了额外字体
install.packages("extrafont")
- 跑去
library("extrafont")
加载它 - 按照指南中的说明访问此网址:https ://github.com/FortAwesome/Font-Awesome/tree/master/webfonts并下载了三种指定的字体。我的下载文件夹中现在有三个 .ttf 文件
- 双击每个 .ttf 文件并单击“安装”以在我的计算机上安装字体。
- Ran
font_import(path="/Users/[my-name]/Downloads/", pattern = "fa-", prompt = FALSE)
将字体导入R。这是输出的摘录:
/Users/[my-name]/Downloads/fa-brands-400.ttfsh: line 1: 17105 Segmentation fault: 11 '/Users/[my-name]/Library/R/x86_64/4.1/library/Rttf2pt1/exec//ttf2pt1' -a -GfAe '/Users/[my-name]/Downloads/fa-brands-400.ttf' '/var/folders/xw/cv_66y755dzgyqgnn9_jb7wm0000gq/T//RtmpDxvl5L/fonts/fa-brands-400' 2>&1
: No FontName. Skipping.
/Users/[my-name]/Downloads/fa-regular-400.ttfsh: line 1: 17107 Segmentation fault: 11 '/Users/[my-name]/Library/R/x86_64/4.1/library/Rttf2pt1/exec//ttf2pt1' -a -GfAe '/Users/[my-name]/Downloads/fa-regular-400.ttf' '/var/folders/xw/cv_66y755dzgyqgnn9_jb7wm0000gq/T//RtmpDxvl5L/fonts/fa-regular-400' 2>&1
: No FontName. Skipping.
- 冉
loadfonts(device = "win")
。这返回Error in windowsFonts() : could not find function "windowsFonts"
了,我猜这与我在 Mac 上有关,所以我跑了loadfonts(device = "pdf")
。(我不完全确定这部分的作用,但我认为如果你想将图表保存为 PDF,它是允许字体工作的部分?)这没有给出任何输出,所以我猜它只是做了一些事情在后台。 - 跑
fonts()
了NULL
就跑fonttable()
了data frame with 0 columns and 0 rows
我也看过这个问题:Fonts table 在使用 extrafont 包检索 windows 字体后仍然为空 我不认为这是同一个问题,因为我没有得到与它们相同的错误。
任何帮助将不胜感激 :)
我的 R 会话信息是:
R version 4.1.2 (2021-11-01)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Catalina 10.15.7
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib
locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] extrafont_0.17 waffle_1.0.1 ggplot2_3.3.5
loaded via a namespace (and not attached):
[1] RColorBrewer_1.1-2 pillar_1.6.4 compiler_4.1.2 tools_4.1.2
[5] digest_0.6.28 lifecycle_1.0.1 tibble_3.1.5 gtable_0.3.0
[9] pkgconfig_2.0.3 rlang_0.4.12 DBI_1.1.1 cli_3.1.0
[13] rstudioapi_0.13 curl_4.3.2 xfun_0.28 fastmap_1.1.0
[17] Rttf2pt1_1.3.9 gridExtra_2.3 withr_2.4.2 dplyr_1.0.7
[21] stringr_1.4.0 generics_0.1.1 vctrs_0.3.8 htmlwidgets_1.5.4
[25] grid_4.1.2 DT_0.19 tidyselect_1.1.1 glue_1.4.2
[29] R6_2.5.1 fansi_0.5.0 extrafontdb_1.0 purrr_0.3.4
[33] magrittr_2.0.1 scales_1.1.1 ellipsis_0.3.2 htmltools_0.5.2
[37] assertthat_0.2.1 colorspace_2.0-2 utf8_1.2.2 tinytex_0.35
[41] stringi_1.7.5 munsell_0.5.0 crayon_1.4.2
解决方案
推荐阅读
- intellij-idea - 是否可以让运行配置 GUI 自动更改为 PhpStorm 或 IntelliJ 中当前打开的文件?
- r - 当我希望所有列在缺少数据点时都具有相同的宽度时,R ggplot 会产生不同的列宽
- report - 如何在 splunk 中为卷生成报告?
- typescript - 如何将一长串静态属性附加到 Typescript 中的函数
- java - 按下删除键时如何返回上一个编辑文本?
- flutter - 在带有按钮的文本字段中输入视频的 URL,以从 Internet 获取
- java - 如何清除 Firebase Cloud 数据库中的数组?
- input - Ruby通过字符串输入更改哈希中的真假值
- c++ - 虽然循环计数不打印 8 次
- powerapps - PowerApps - 如何从 SQL 视图列分配变量值