如何让常见的中心 y 轴标签延伸到底部图表?

how to allow common central y-axis label to extend into the bottom graph?

我使用 ggplot 生成了三个图表,我想使用包 patchworks 以打包的方式(在彼此之上)组合它们。

这很容易通过键入来实现:

graph1/graph2/graph3

但是,我 运行 遇到的问题是,对于这三个图,我有一个共同的 y 轴,我自然希望将其放置在中央图上(因此我只创建了一个 y当我在 ggplot 中制作图表时图表 2 的轴标签)。这个 y 轴标签文本相当长。因此,我想将它扩展到其他图表的“边界之外”。但是,我的结果如下图所示。

可以看出,y轴标签允许延伸到上图,但不允许延伸到下图(这里多余的标签文字简单去掉,就好像下图一样)在文本之上)。

如何让我的 y 轴标签也延伸到底部图表中?之后不能简单地更改图片的尺寸以使中心图足够大以容纳标签(这样图将太大而无法放在一页上)。

目前这仍然是拼凑的一个长期要求的功能 (see this discussion)。有几个解决方法,低于我会做的。我会将实验室标题作为情节拼接到其他人。

library(ggplot2)
library(patchwork)
ls_p <- rep(list(ggplot(mtcars, aes(mpg, disp)) +geom_point()), 3)
glob_lab <- "This long label which is too small for one plot"

p_lab <- 
  ggplot() + 
  annotate(geom = "text", x = 1, y = 1, label = glob_lab, angle = 90) +
  coord_cartesian(clip = "off")+
  theme_void()

(p_lab | wrap_plots(ls_p, nrow = 3)) +
  plot_layout(widths = c(.1, 1))

reprex package (v1.0.0)

于 2021 年 3 月 24 日创建