R: 将 facet_grid() 对齐到网格的顶部

R: Align facet_grid() to the top of the grid

我正在努力尝试格式化 R 中绘图的 facet_grid。这是我的代码的可重现示例,数据来自 R (ToothGrowth) 中的数据集包。

library(ggplot2)

df <- ToothGrowth

bp <- ggplot(df, aes(x=dose, y=len, group=dose)) +
             geom_boxplot(aes(fill=dose)) +   
             facet_grid(supp ~ .) + 
             theme_minimal(base_size = 16) +   
             theme(legend.position = "none",
                   axis.title.x = element_blank(),
                   axis.title.y = element_blank(),
                   axis.ticks = element_blank(),
                   panel.grid.major.x = element_line(size = 0.25,
                                                     colour = "grey80"),
                   strip.text = element_text(size = 22, face = "bold"))

bp

通过代码我获得了第一张图片:

我想将 facet_grid 的标签对齐到网格图例的顶部,如您在第二张图片中所见:

谢谢。

将以下内容添加到您的情节代码中:

theme(strip.text.y=element_text(hjust=0))

如果你想旋转标签,你可以这样做:

theme(strip.text.y=element_text(vjust=1, angle=0))

(是的,vjusthjust 这件事令人困惑)

p1 = bp + theme(strip.text.y=element_text(hjust=0))
p2 = bp + theme(strip.text.y=element_text(vjust=1, angle=0))