代码之家  ›  专栏  ›  技术社区  ›  Alexander

在facet_网格中的条带外放置标签

  •  0
  • Alexander  · 技术社区  · 7 年前

    left right facet_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 回复  |  直到 7 年前
        1
  •  3
  •   baptiste    7 年前

    您始终可以手动将标题添加到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)