Как добавить верхние индексы в метки фасетов - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь построить три переменные и хочу, чтобы единицы измерения были указаны в осях, но не могу найти способ правильно их пометить в фасетах с верхним индексом.

Я пробовал as_labeller, label_bquote, expression / paste и изменение исходных данных.

p <- ggplot(data = LST, aes(x = Date, y = Measurements)) + 
geom_point((aes(color = parameter)))

p + facet_grid(parameter ~ ., scales = "free_y", 
switch="y",labeller=as_labeller(DO~(mg~L^{-1}), Temperature~(°C), Light~ 
(µmol~m^{-2}~s^{-1}))) + 
            theme_bw()+ theme(strip.background = element_blank(), 
legend.title = element_blank(), strip.placement = "outside", 
panel.grid.minor = element_blank()) + 
          scale_x_datetime()+ ylab(NULL) +ggtitle("Spring 2018") + 
scale_colour_manual(values=c('royalblue1', 'springgreen4', 'darkblue')) +
          theme(legend.position="none")+ 
theme(strip.text=element_text(size=10))

Все, что я пробую, либо помечает все грани одинаково, либо не помещает верхние индексы.Я довольно новичок в ggplot2, поэтому не уверен, что то, что я пытаюсь, поможет.

1 Ответ

0 голосов
/ 13 февраля 2019

Вы хотите labeller = label_parsed.Вот простой пример

mt = mtcars

mt$facets = factor(mt$cyl, labels = c(
    "DO~(mg~L^{-1})", 
    "Temperature~('°C')", 
    "Light~(µmol~m^{-2}~s^{-1})"))

ggplot(mt, aes(mpg,cyl)) +
  geom_point() +
  facet_grid(~facets, labeller = label_parsed)

enter image description here

...