将标签放置在facet_grid中的条带之外

时间:2017-07-31 23:52:33

标签: r ggplot2 facet-grid

我想知道我们如何在left条带上放置标签rightfacet_grid

作为一个可重复的例子,我想从这个例子开始

library(ggplot2)
    ggplot(mtcars, aes("", hp)) + 
      geom_boxplot(width=0.7, position=position_dodge(0.7)) + 
      theme_bw() +
      facet_grid(. ~ vs + am + carb,switch = 'both',labeller = label_both) +
      theme(panel.spacing=unit(0.2,"lines"),
            strip.background=element_rect(color="grey30", fill="grey90"),
            panel.border=element_rect(color="grey90"),
            axis.ticks.x=element_blank())+
            #strip.placement="outside") +
      labs(x="")

enter image description here

我寻找的情节;

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以随时手动将标题添加到gtable,

enter image description here

g <- ggplotGrob(p)

library(gtable)
library(grid)
library(gridExtra)
pos <- subset(g$layout, grepl("strip",name))
titles <- tableGrob(c("vs","am","carb"), theme = ttheme_minimal(9))
titles$heights <- unit(rep(1,3), "null")
g$widths[ncol(g)] <- sum(titles$widths)
g <- gtable_add_grob(g, titles, t=unique(pos$t), l = ncol(g)) 
grid.newpage()
grid.draw(g)