У меня есть текст в Юникоде, который включает смайлики. Я хотел бы отобразить их в ggplot2 graphi c с geom_text или geom_label таким образом, чтобы включить цвет эмодзи. Я просмотрел emojifont
, emo
и ggtext
, и ни один из них, похоже, не позволяет этого. Проблема, конечно же, в том, что цвет текста в geom_text
регулируется color aestheti c. Есть ли способ получить цвета, отображаемые в моем тексте, с помощью geom_text или другого обходного пути?
Воспроизводимый пример:
library(ggplot2)
pets <- "I like ? ? ? ?"
cat(pets)
ggplot() +
theme_void() +
annotate("text", x = 1, y = 1, label = pets, size = 15)
cat(pets)
работает на экране в RStudio, но График c, нарисованный последней строкой, выглядит так:
В качестве альтернативы, с ggtext::geom_richtext()
я получаю аналогичный черно-белый результат и это сообщение об ошибке:
> library(ggtext)
> ggplot() +
+ theme_void() +
+ annotate("richtext", x = 1, y = 1, label = pets, size = 15)
Warning messages:
1: In text_info(label, fontkey, fontfamily, fontface, fontsize, cache) :
unable to translate '<U+0001F436>RStudioGD142.6791338582677' to native encoding
2: In text_info(label, fontkey, fontfamily, fontface, fontsize, cache) :
unable to translate '<U+0001F431>RStudioGD142.6791338582677' to native encoding
3: In text_info(label, fontkey, fontfamily, fontface, fontsize, cache) :
unable to translate '<U+0001F41F>RStudioGD142.6791338582677' to native encoding
4: In text_info(label, fontkey, fontfamily, fontface, fontsize, cache) :
unable to translate '<U+0001F422>RStudioGD142.6791338582677' to native encoding
5: In do.call(gList, grobs) :
unable to translate 'I like <U+0001F436> <U+0001F431> <U+0001F41F> <U+0001F422>' to native encoding