You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows字体库未找到Waffle与FontAwesome字体,华夫图图标显示失败求助

解决Waffle图中FontAwesome字体找不到的问题

我之前也碰到过Windows下用waffle包调用FontAwesome图标时的字体识别坑,这个错误主要是extrafont在Windows上的字体加载逻辑和设备适配问题导致的,给你两个可行的解决方案:

方案一:修复extrafont的字体加载问题

  1. 确认FontAwesome已安装到系统
    先检查Windows字体文件夹(一般是C:\Windows\Fonts)里有没有FontAwesome字体,要是没有,先去官网下载安装免费的Solid样式版本。

  2. 精准导入FontAwesome字体
    全量扫描字体耗时还可能漏导,不如指定只导入FontAwesome:

    library(extrafont)
    # 只导入包含FontAwesome的字体,跳过确认提示
    font_import(pattern = "FontAwesome", prompt = FALSE)
    
  3. 针对Windows设备加载字体
    你之前用的loadfonts(device = "postscript")是给PostScript设备用的,Windows默认绘图设备得用win参数:

    loadfonts(device = "win")
    # 验证是否加载成功,查看字体列表里有没有FontAwesome
    fonts()
    
  4. 重新运行绘图代码
    现在再执行你的Waffle代码,应该就能正常识别字体了:

    library(waffle)
    parts <- c(`Un-breached\nUS Population`=(318-11-79), `Premera`=11, `Anthem`=79)
    waffle(parts/10, rows=3, colors=c("#969696", "#1879bf", "#009bda"), 
           use_glyph="medkit", size=8)
    

方案二:用showtext替代extrafont(更稳定)

如果extrafont还是搞不定,试试showtext包,它在跨平台字体处理上更省心:

  1. 安装并加载所需包

    install.packages(c("waffle", "showtext"))
    library(waffle)
    library(showtext)
    
  2. 加载FontAwesome字体
    可以直接从谷歌字体加载,或者用本地安装的字体:

    # 从谷歌字体加载FontAwesome 5 Free(Solid样式)
    font_add_google("Font Awesome 5 Free", family = "fa", regular.wt = 900)
    # 如果是本地安装的字体,用下面的方式(替换成你的字体文件路径)
    # font_add("fa", "C:/Windows/Fonts/Font Awesome 5 Free-Solid-900.otf")
    
  3. 启用showtext自动渲染

    showtext_auto()
    
  4. 绘制Waffle图
    记得指定family="fa"来调用加载的字体:

    parts <- c(`Un-breached\nUS Population`=(318-11-79), `Premera`=11, `Anthem`=79)
    waffle(parts/10, rows=3, colors=c("#969696", "#1879bf", "#009bda"), 
           use_glyph="medkit", size=8, family="fa")
    

小提示

如果medkit图标不显示,可能是FontAwesome版本差异导致的,新版里这个图标叫kit-medical,可以试试替换use_glyph="kit-medical"。

内容的提问来源于stack exchange,提问作者RulesOfTheGame

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:34:21