在 geom_bar 上解析离散轴值中的上标

Parse superscript in discrete axis values on geom_bar

我正在尝试向某些 x 轴值添加上标,以便连接到页面底部的脚注。简单的解决方法只是一个星号而不是 ^a 但这对我的目的不起作用。

我进行了大量搜索,虽然有很多关于轴标签上标的 post,但我找不到任何关于轴值上标的信息。他们中的大多数人似乎都加入了 gg + labs(x = expression("blah^a"))

我确实找到 post 关于解析 geom_text() 中的上标,但它似乎对 geom_bar().

不起作用

这里是一些测试数据:

library(ggplot2)

dat <- data.frame(x = c("alpha", "bravo^a"),
                  y = c(10, 8))

ggplot(data = dat) +
  geom_bar(aes(x = x, 
               y = y),
           stat = "identity")

你只需要parse里面的文字scale_x_discrete

编辑:添加 geom_text 示例

library(ggplot2)

dat <- data.frame(x = c("alpha", "bravo^a"),
                  y = c(10, 8))

### need to convert x to factor if R >= 4.0
dat$x <- factor(dat$x)

ggplot(data = dat) +
  geom_bar(aes(x = x, 
               y = y),
           stat = "identity") +
  scale_x_discrete(labels = parse(text = levels(dat$x))) +
  geom_text(aes(x = x, y = y,
                label = x), 
            parse = TRUE, 
            nudge_y = 1,
            size = 5) +
  theme_minimal(base_size = 14)

reprex package (v0.2.0.9000) 创建于 2018-08-27。