使用数学表达式标记两行,使用facet_grid为ggplot2中的两个网格

时间:2017-12-22 18:08:36

标签: r plot ggplot2 graph

我希望将带有facet_grid两行数学表达式的标签添加到两个网格中(参见MWE)。我可以在一行中得到它,想知道两行(一行中的Beta和第二行中第二行的Gamma)。

library(ggplot2)

p1 <- ggplot(mtcars, aes(x = mpg, y = wt)) + geom_point()

p1 + facet_grid(
    facets = gear ~ vs + am
  , labeller = label_both
  )

enter image description here

p1 + facet_grid(
     facets = gear ~ vs + am
    , labeller = 
       label_bquote(
         rows = alpha:.(gear)
      , cols = list(beta:.(vs), gamma:.(am))
      )
    )

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用atop()代替list()

library(ggplot2)
ggplot(mtcars, aes(mpg, wt)) + 
    geom_point() +
    facet_grid(gear ~ vs + am, 
        labeller = label_bquote(
            rows = alpha:.(gear), 
            cols = atop(beta:.(vs), gamma:.(am))))

enter image description here

atop()是一种蛮力方法,因为它将“x over y(no horizo​​ntal bar)”