ggplot:一些 Unicode 形状可以工作,而另一些则不能

use*_*ica 6 unicode r ggplot2

这是一个简单的例子。

library(tidyverse)

dat <- data.frame(x = c(1,2,3,4,5),
  y = c(1,2,3,4,5))

ggplot(dat, aes(x, y)) +
  geom_point(shape="\u2620", size = 8)
Run Code Online (Sandbox Code Playgroud)

这非常适合创建骷髅和交叉骨作为形状,因为2620 是此 unicode 字符的十六进制值。我实际上想要大象形状,它的十六进制代码为 1F418

但是,将 1F418 替换为 2620 会产生错误消息

错误:找不到形状名称:* '8'

为什么大象形状不起作用?我怎样才能让大象的形状出现在我的情节中?

H 1*_*H 1 5

小写\u转义前缀表示具有 16 位十六进制值的 Unicode 字符。对于 32 位十六进制值,使用大写\U或代理对(两个 16 位值):

ggplot(dat, aes(x, y)) +
  geom_point(shape="\U1F418", size = 8) # is "\U0001f418"
Run Code Online (Sandbox Code Playgroud)

或者:

ggplot(dat, aes(x, y)) +
  geom_point(shape="\uD83D\uDC18", size = 8)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明