【问题标题】:How to display emojis in ggplot2 using emo package in R?如何使用 R 中的 emo 包在 ggplot2 中显示表情符号?
【发布时间】:2019-02-22 00:32:59
【问题描述】:

我正在尝试使用ggplot2 绘制一些带有表情符号的图表,这些图表使用emo 包显示为标签。我从this post 学到的,但它根本不起作用。

我之前尝试过emojifont 包,但它是一种以黑白呈现表情符号的字体类型,它需要使用例如打开一个新的图形设备。 quartz()

为了解决颜色问题,Tino 建议(参考上面的帖子)使用gridSVG 包,即在创建新图形设备并使用emojifont 绘图后,将图形ps = grid.export("emoji.svg", addClass=T) 保存在本地磁盘上作为.svg 文件,以彩色风格呈现表情符号。

我非常感谢一个解决方案,它 (a) 提供彩色表情符号和 (b) 直接显示图表,它与常规 ggplot 用例兼容。

library(ggplot2)
library(emo)

names = c("smile","school","office","blush","smirk","heart_eyes")
n = length(names):1
e = sapply(names, emo::ji)
dat = data.frame(emoji_name = names, n = n, emoji = e, stringsAsFactors = F)

ggplot(data=dat, aes(emoji_name, n)) + 
  geom_bar(stat = "identity") +
  scale_x_discrete(breaks = dat$emoji_name, labels = dat$emoji) +
  coord_flip()

我的 R 版本是

> sessionInfo()
R version 3.4.4 (2018-03-15)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12

【问题讨论】:

  • 那个额外的) 是一个错字。删除它仍然不能解决问题。我使用的是 Mac 操作系统;我想知道问题是否与操作系统有关。
  • 感谢您提出操作系统问题。好吧,我使用的是 Windows 7 操作系统,我也得到了白色方块。所以,我认为它不依赖于操作系统。
  • 您是否尝试安装 Rstudio 的预览版?我在 Windows 上遇到了 emojis 和 Rstudio (1.1.456) 的一些问题,预览版已经消失。
  • @wen 当我运行您的代码时,它工作正常。我在 Ubuntu 18.04 LTS 上。 R 版本 3.4.4,ggplot2 版本 3.0.0
  • 之前有几篇关于这个的帖子,这似乎是打印 unicode 字符的操作系统问题。这是一个:stackoverflow.com/questions/47730589/…

标签: r ggplot2 emoji


【解决方案1】:

使用emojifont 包:)

阅读更多here

library(ggplot2)
library(emojifont)

names = c("smile","school","office","blush","smirk","heart_eyes")
n = length(names):1
e = sapply(names, emojifont::emoji)
dat = data.frame(emoji_name = names, n = n, emoji = e, stringsAsFactors = F)

ggplot(data=dat, aes(emoji_name, n)) + 
  geom_bar(stat = "identity") +
  scale_x_discrete(breaks = dat$emoji_name, labels = dat$emoji) +
  theme( axis.text.y =element_text( size=20 ) ) +
  coord_flip()

> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

【讨论】:

  • 谢谢,但我知道这个解决方案。我不喜欢使用emojifont,因为 (a) emojifonts 是字体(它们不是彩色的;它们是黑白的),并且 (b) 它通常需要使用 quartz() 打开一个新的图形设备,否则它要么是未显示或未正确显示。
  • 抱歉.. 我无法尝试使用 emo,因为它不适用于 R 3.5.1 Warning in install.packages : package ‘emo’ is not available (for R version 3.5.1)
  • @Wimpel 这是一条误导性的警告消息,实际上意味着它在 CRAN 上不可用,并不是说它不适用于您的 R 版本。 emo 仅在 github 上:github.com/hadley/emo
【解决方案2】:
library(ggplot2)
library(dplyr)
library(purrr)
#remotes::install_github("hadley/emo")
library(emo)

dat <- tibble(names = c("smile","school","office","blush","smirk","heart_eyes"),
       emoji = map_chr(names, emo::ji)) %>% 
  tibble::rowid_to_column("n")

dat %>% ggplot(aes(n, emoji)) + 
  geom_col(orientation="y") +
  theme(axis.text.y = element_text(size = 18))

sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#>  setting  value                       
#>  version  R version 3.6.3 (2020-02-29)
#>  os       Ubuntu 18.04.4 LTS          
#>  system   x86_64, linux-gnu           
#>  ui       X11                         
#>  language en_GB:en                    
#>  collate  en_GB.UTF-8                 
#>  ctype    en_GB.UTF-8                 
#>  tz       Europe/Oslo                 
#>  date     2020-04-07                  
#> 
#> ─ Packages ───────────────────────────────────────────────────────────────────
#>  package     * version    date       lib source                     
#>  assertthat    0.2.1      2019-03-21 [1] CRAN (R 3.6.0)             
#>  cli           2.0.2      2020-02-28 [1] CRAN (R 3.6.3)             
#>  colorspace    1.4-1      2019-03-18 [1] CRAN (R 3.6.0)             
#>  crayon        1.3.4      2017-09-16 [1] CRAN (R 3.6.0)             
#>  digest        0.6.25     2020-02-23 [1] CRAN (R 3.6.3)             
#>  dplyr       * 0.8.5      2020-03-07 [1] CRAN (R 3.6.3)             
#>  ellipsis      0.3.0      2019-09-20 [1] CRAN (R 3.6.1)             
#>  emo         * 0.0.0.9000 2020-04-07 [1] Github (hadley/emo@3f03b11)
#>  evaluate      0.14       2019-05-28 [1] CRAN (R 3.6.0)             
#>  fansi         0.4.1      2020-01-08 [1] CRAN (R 3.6.2)             
#>  farver        2.0.3      2020-01-16 [1] CRAN (R 3.6.2)             
#>  generics      0.0.2      2018-11-29 [1] CRAN (R 3.6.0)             
#>  ggplot2     * 3.3.0      2020-03-05 [1] CRAN (R 3.6.3)             
#>  glue          1.4.0      2020-04-03 [1] CRAN (R 3.6.3)             
#>  gtable        0.3.0      2019-03-25 [1] CRAN (R 3.6.0)             
#>  highr         0.8        2019-03-20 [1] CRAN (R 3.6.0)             
#>  htmltools     0.4.0      2019-10-04 [1] CRAN (R 3.6.1)             
#>  knitr         1.28       2020-02-06 [1] CRAN (R 3.6.3)             
#>  labeling      0.3        2014-08-23 [1] CRAN (R 3.6.0)             
#>  lifecycle     0.2.0      2020-03-06 [1] CRAN (R 3.6.3)             
#>  lubridate     1.7.8      2020-04-06 [1] CRAN (R 3.6.3)             
#>  magrittr      1.5        2014-11-22 [1] CRAN (R 3.6.3)             
#>  munsell       0.5.0      2018-06-12 [1] CRAN (R 3.6.0)             
#>  pillar        1.4.3      2019-12-20 [1] CRAN (R 3.6.2)             
#>  pkgconfig     2.0.3      2019-09-22 [1] CRAN (R 3.6.1)             
#>  purrr       * 0.3.3      2019-10-18 [1] CRAN (R 3.6.1)             
#>  R6            2.4.1      2019-11-12 [1] CRAN (R 3.6.1)             
#>  Rcpp          1.0.4      2020-03-17 [1] CRAN (R 3.6.3)             
#>  rlang         0.4.5      2020-03-01 [1] CRAN (R 3.6.3)             
#>  rmarkdown     2.1        2020-01-20 [1] CRAN (R 3.6.3)             
#>  scales        1.1.0.9000 2020-04-03 [1] local                      
#>  sessioninfo   1.1.1      2018-11-05 [1] CRAN (R 3.6.0)             
#>  stringi       1.4.6      2020-02-17 [1] CRAN (R 3.6.3)             
#>  stringr       1.4.0      2019-02-10 [1] CRAN (R 3.6.0)             
#>  tibble        3.0.0      2020-03-30 [1] CRAN (R 3.6.3)             
#>  tidyselect    1.0.0      2020-01-27 [1] CRAN (R 3.6.3)             
#>  vctrs         0.2.4      2020-03-10 [1] CRAN (R 3.6.3)             
#>  withr         2.1.2      2018-03-15 [1] CRAN (R 3.6.0)             
#>  xfun          0.12       2020-01-13 [1] CRAN (R 3.6.2)             
#>  yaml          2.2.1      2020-02-01 [1] CRAN (R 3.6.2)             
#> 
#> [1] /home/dm0737pe/R/x86_64-pc-linux-gnu-library/3.6
#> [2] /usr/local/lib/R/site-library
#> [3] /usr/lib/R/site-library
#> [4] /usr/lib/R/library

reprex package (v0.3.0) 于 2020-04-07 创建

【讨论】:

    猜你喜欢
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 2021-09-23
    • 2021-06-22
    • 2016-04-05
    相关资源
    最近更新 更多