【问题标题】:ggplot2 doesn't display emojis with emo::jiggplot2 不显示带有表情符号的表情符号
【发布时间】:2021-10-11 19:59:27
【问题描述】:

我正在尝试使用 emo::ji 在 ggplots 上显示表情符号,但我得到的是白色方块而不是表情符号。

它适用于 Rmarkdown,但不适用于 ggplots。

这行得通:

`r emo::ji("smile")`

这也有效:

a = tidyr::tibble(a = emo::ji("smile"))

这不是:

plot(runif(10), runif(10), pch = emo::ji("smile"), cex = 2)

文件编码已经是 UTF-8。我读到它可能与操作系统有关。我在 macOS 11.2.1 上。 This 没有帮助。 我花了几个小时在这上面,还没有找到解决方案。将不胜感激。

 ─ Session info ──────────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 4.1.0 (2021-05-18)
 os       macOS Big Sur 11.2.1        
 system   x86_64, darwin17.0          
 ui       RStudio                     
 language (EN)                        
 collate  pt_BR.UTF-8                 
 ctype    pt_BR.UTF-8                 
 tz       America/Sao_Paulo           
 date     2021-08-07                  

─ Packages ──────────────────────────────────────────────────────────────────────
 package     * version    date       lib source                     
 assertthat    0.2.1      2019-03-21 [1] CRAN (R 4.1.0)             
 cli           3.0.1      2021-07-17 [1] CRAN (R 4.1.0)             
 crayon        1.4.1      2021-02-08 [1] CRAN (R 4.1.0)             
 DBI           1.1.1      2021-01-15 [1] CRAN (R 4.1.0)             
 digest        0.6.27     2020-10-24 [1] CRAN (R 4.1.0)             
 dplyr         1.0.7      2021-06-18 [1] CRAN (R 4.1.0)             
 ellipsis      0.3.2      2021-04-29 [1] CRAN (R 4.1.0)             
 emo           0.0.0.9000 2021-08-07 [1] Github (hadley/emo@3f03b11)
 evaluate      0.14       2019-05-28 [1] CRAN (R 4.1.0)             
 fansi         0.5.0      2021-05-25 [1] CRAN (R 4.1.0)             
 generics      0.1.0      2020-10-31 [1] CRAN (R 4.1.0)             
 glue          1.4.2      2020-08-27 [1] CRAN (R 4.1.0)             
 htmltools     0.5.1.1    2021-01-22 [1] CRAN (R 4.1.0)             
 knitr         1.33       2021-04-24 [1] CRAN (R 4.1.0)             
 lifecycle     1.0.0      2021-02-15 [1] CRAN (R 4.1.0)             
 lubridate     1.7.10     2021-02-26 [1] CRAN (R 4.1.0)             
 magrittr      2.0.1      2020-11-17 [1] CRAN (R 4.1.0)             
 pillar        1.6.2      2021-07-29 [1] CRAN (R 4.1.0)             
 pkgconfig     2.0.3      2019-09-22 [1] CRAN (R 4.1.0)             
 purrr         0.3.4      2020-04-17 [1] CRAN (R 4.1.0)             
 R6            2.5.0      2020-10-28 [1] CRAN (R 4.1.0)             
 Rcpp          1.0.7      2021-07-07 [1] CRAN (R 4.1.0)             
 rlang         0.4.11     2021-04-30 [1] CRAN (R 4.1.0)             
 rmarkdown     2.9        2021-06-15 [1] CRAN (R 4.1.0)             
 rstudioapi    0.13       2020-11-12 [1] CRAN (R 4.1.0)             
 sessioninfo   1.1.1      2018-11-05 [1] CRAN (R 4.1.0)             
 stringi       1.7.3      2021-07-16 [1] CRAN (R 4.1.0)             
 stringr       1.4.0      2019-02-10 [1] CRAN (R 4.1.0)             
 tibble        3.1.3      2021-07-23 [1] CRAN (R 4.1.0)             
 tidyr         1.1.3      2021-03-03 [1] CRAN (R 4.1.0)             
 tidyselect    1.1.1      2021-04-30 [1] CRAN (R 4.1.0)             
 utf8          1.2.2      2021-07-24 [1] CRAN (R 4.1.0)             
 vctrs         0.3.8      2021-04-29 [1] CRAN (R 4.1.0)             
 withr         2.4.2      2021-04-18 [1] CRAN (R 4.1.0)             
 xfun          0.24       2021-06-15 [1] CRAN (R 4.1.0)             
 yaml          2.2.1      2020-02-01 [1] CRAN (R 4.1.0)  

       

【问题讨论】:

  • 我在编织 RMarkdown 时遇到了同样的问题。为我解决这个问题的方法是通过将dev="ragg_png" 添加到代码块选项来切换到ragg
  • 试过了,但没有任何区别。

标签: r ggplot2 emoji


【解决方案1】:

您可以改用emojifont 包。

阅读更多here

install.packages("emojifont")
library(emojifont)

plot(runif(10), runif(10), cex = 0)
text(runif(10), runif(10), labels=emoji('smile'), cex=1.5, col='orange', family='EmojiOne')

使用 ggplot2:

d <- data.frame(x=runif(10), y=runif(10), label = sample(emoji('smile'), 5, replace=TRUE))

ggplot(d, aes(x, y, label=label)) + geom_text(family="EmojiOne", size=6, color='orange')

【讨论】:

  • 虽然这行得通,但这并不是我所需要的,因为 emojifont 包没有所有的表情符号。
  • 这个包包含超过1000个表情,你可以用search_emoji ('some_name')按名字搜索它们,也许你会找到你要找的:)
猜你喜欢
  • 2020-10-13
  • 2015-09-12
  • 2023-03-04
  • 1970-01-01
  • 2014-03-27
  • 2022-01-16
  • 2012-12-09
  • 2021-11-07
  • 1970-01-01
相关资源
最近更新 更多