为什么有些华夫饼图表字形起作用,而另一些却不起作用?

问题描述

我已经在本地计算机上安装了 fontawesome ttfs并将其加载到R中。当我使用fonts()[grep("Awesome",fonts())]对其进行测试时,它会按预期返回"FontAwesome"

我可以运行带有某些字形的华夫格图表...到目前为止,男性,女性和公文包都起作用了,但其他字符(如“建筑物”)没有起作用。

知道发生了什么吗?

library(ggplot2)
library(fontawesome)
library(extrafont)
library(waffle)

# This works fine
waffle(
  c(`Poor=10` =10,`Average=18` = 18,`Excellent=7` =7),rows = 5,colors = c("#FD6F6F","#93FB98","#D5D9DD"),use_glyph = "female",glyph_size = 12,title = 'Girls Performance',legend_pos="bottom"
)

# This does not work
waffle(
  c(`Poor=10` =10,use_glyph = "building",legend_pos="bottom"
)

解决方法

不知道为什么某些字形会发生这种情况,但其他字形却没有,但是我最近遇到了同一问题。在此处找到了出色的操作方法:https://www.listendata.com/2019/06/create-infographics-with-r.html

听起来您已经有了可用的字体,因此可以跳过操作方法的第一部分,并且可能只是缺少软件包。您将要添加另外两个:echarts4r(在CRAN上)和echarts4r.assets(到目前为止仅在github上)

require(devtools)
devtools::install_github("JohnCoene/echarts4r.assets")
library(tidyverse)
library(waffle)
library(extrafont)
library(echarts4r.assets)
library(echarts4r)

# Works for me with all of these packages loaded
waffle(
  c(`Poor=10` =10,`Average=18` = 18,`Excellent=7` =7),rows = 5,colors = c("#FD6F6F","#93FB98","#D5D9DD"),use_glyph = "building",glyph_size = 12,title = 'Girls Performance',legend_pos="bottom"
)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...