Как сделать верхний индекс внутри клея? - PullRequest
1 голос
/ 12 февраля 2020

Я хотел бы иметь возможность создавать надстрочные индексы внутри функции glue():

   glue::glue("{seq(0, 1500, by = 250)} μg/m^3")

Таким образом, m ^ 3 не оценивается, поэтому я попытался сделать что-то вроде этого:

   glue::glue("{seq(0, 1500, by = 250)} μg/{expression(m^3)}")

Что я хочу с ним сделать, это использовать его в качестве аргумента label в функции scale_x_continuous() в ggplot2.

1 Ответ

2 голосов
/ 12 февраля 2020

Если ваша конечная цель - отформатировать что-то в {ggplot2}, вы можете использовать пакет {ggtext} , чтобы применить форматирование уценки к вашим меткам:

library(tibble)
library(ggplot2)

your_sequence <- seq(0, 1500, by = 250)

labels <- glue::glue("{your_sequence} μg/m^3")

data <- tibble(x = your_sequence,
               y = sample(100:120, 7),
               labels = labels)

ggplot(data, aes(x = x, y = y)) +
  geom_point() +
  scale_x_continuous(breaks = your_sequence, labels = labels) +
  theme(axis.text.x = ggtext::element_markdown())

Трюк в применение ggtext::element_markdown() к параметру axis.text.x вашего theme().

При этом вам также не нужно добавлять выражение в ваш код glue::glue().

I надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...