如何在构面标签上添加上标

时间:2019-02-13 19:07:05

标签: r ggplot2 label facet

我正在尝试绘制三个变量,并希望在轴标签中使用单位,但是找不到在上标中正确标记它们的方法。

我尝试过as_labellerlabel_bquoteexpression / 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 :(得分:1)

您想要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