Разобрать верхний индекс в значениях дискретных осей на geom_bar - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь добавить верхний индекс к некоторым значениям оси X, чтобы подключиться к сноске, которая будет внизу страницы. Простым обходным решением будет просто звездочка вместо ^a, но это не подойдет для моих целей.

Я много занимался поиском, и, хотя в надписях осей было много постов о верхних индексах, я не смог найти ни одного надстрочного индекса в значениях осей. Большинство из них появилось к центру раунда, добавив gg + labs(x = expression("blah^a")).

Я нашел этот пост о разборе верхних индексов внутри 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")

1 Ответ

0 голосов
/ 27 августа 2018

Вам просто нужно parse текст внутри scale_x_discrete

Редактировать: добавить geom_text пример

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") +
  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)

Создано в 2018-08-27 пакетом Представ (v0.2.0.9000).

...