gpt4 book ai didi

r- emojifont 包的 font-awesome 命令在 Windows 10 中不显示图标

转载 作者:行者123 更新时间:2023-12-04 17:42:21 25 4
gpt4 key购买 nike

当我使用 emojifont 包中的 fontawesome 命令时,我得到一个正方形,而不是我请求的图标。我是 R 的新手,我可能缺少一些非常简单的东西,但这让我陷入了一段时间。

我正在运行 Windows 10,R 版本是最新的,使用 RStudio。据报道,这些命令在 Linux 计算机上正常运行,请参阅之前的讨论:Replace categorical values with traffic light colors

在另一个问题中,用户说要运行 Windows()。这没有什么区别,重要吗? using font awesome in ggplot

示例代码

> library(emojifont)
> load.fontawesome()

> fontawesome('fa-circle')
[1] ""

> fontawesome('fa-apple')
[1] ""

> fontawesome('fa-at')
[1] ""

更新:我可以在线复制一些简单的示例,但不能复制其他示例。

set.seed(123)
x <- rnorm(10)
set.seed(321)
y <- rnorm(10)
plot(x, y, cex=0)
text(x, y, labels=emoji('cow'), cex=1.5, col='steelblue', family='EmojiOne')

d <- data.frame(x=x, y=y,
label = sample(c(emoji('cow'), emoji('camel')), 10, replace=TRUE),
type = sample(LETTERS[1:3], 10, replace=TRUE))

library("ggplot2")
ggplot(d, aes(x, y, color=type, label=label)) +
geom_text(family="EmojiOne", size=6)

正如您在下面看到的那样,这可以正常工作 Correct Output

但是这段代码只生成正方形(以及我尝试过的大多数其他示例)

set.seed(2016-03-09)
fa <- fontawesome(c('fa-github', 'fa-weibo', 'fa-twitter', 'fa-android', 'fa-coffee'))
d <- data.frame(x=rnorm(20),
y=rnorm(20),
label=sample(fa, 20, replace=T))

ggplot(d, aes(x, y, color=label, label=label)) +
geom_text(family='fontawesome-webfont', size=6)+
xlab(NULL)+ylab(NULL) +
theme(legend.text=element_text(family='fontawesome-webfont'))

enter image description here

在上图中(以及我尝试过的大多数示例),我得到的是方 block 而不是图标。关于为什么的任何想法?

最佳答案

我不认为它应该在控制台上打印,而只能在绘图中打印。

基本上,您正在做的是询问 emojifont/fontawesome,Unicode 中可能超过 100 万个代码点中的哪些对应于“圆”(它是代码点 f51d),然后打印该字符。

在绘图中,您可以说您希望该字符以某种字体打印,如果您选择“fontawesome-webfont”,例如在 emojifont 的示例中,将绘制这些圆圈。

ggplot(d, aes(x, y, color=label, label=label)) +
geom_text(family='fontawesome-webfont', size=6)

现在,如果您选择不同的字体系列,这些标签将以不同的字体打印。

除了在实践中,制作字体的人会仔细考虑如何绘制他们的 a 和 b 等。但是他们不会有太多时间考虑如何绘制“代码点 f51d”,即使他们知道那应该只是一个圆圈。而且他们不希望任何人使用这样一个模糊的代码点。

所以他们会处理他们希望使用的字符,而只是对其他字符使用占位符,例如“”

在控制台中,您将拥有默认字体,具体取决于您使用的控制台,例如在我的 Rstudio 安装中使用了“Lucida 控制台”。不确定您的控制台中显示的是什么字体,但显然它没有很好地表示“codepoint f51d”

所以为了显示它,你需要用正确的字体显示它:fontawesome。这意味着要么绘制,要么将控制台设置为使用 fontawesome。虽然我不确定最后一个是否有效,但它可能会导致像“A”这样的简单字符也显示占位符,或者他们可能用它来显示完全不同的东西。

关于使用 windows() 的事情是因为 standard-rstudio-plotwindow 有时使用它自己的默认值,并且可能找不到 fontawesome。但这仅与 RStudio 中的绘图有关。

关于r- emojifont 包的 font-awesome 命令在 Windows 10 中不显示图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53888849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com