如何允许公共中心y轴标签延伸到底部图形?
使用 ggplot,我生成了三个图形,我想使用包 patchworks 以打包方式(在彼此之上)组合这些图形。
这可以通过键入以下内容轻松实现:
graph1/graph2/graph3
但是,我遇到的问题是,对于这三个图形,我有一个共同的 y 轴,我自然希望将其放置在中心图形处(因此,当我制作时,我只为图形 2 创建了 y 轴标签ggplot 中的图表)。这个 y 轴标签文本相当长。因此,我想将它扩展到“超出其他图表的边界”。但是,我的结果如下图所示。
可以看出,y轴标签允许延伸到顶部图但不允许延伸到底部图(这里多余的标签文本被简单地删除,就像底部图放在文本顶部一样)。
我怎样才能让我的 y 轴标签也延伸到底部图形中?之后简单地更改图片的尺寸以使中心图形足够大以容纳标签不是一种选择(然后图形会太大而无法放在一页上)。
回答
目前,这仍然是拼凑的一个长期要求的功能(请参阅此讨论)。有几种解决方法,低于我会做的。我会把实验室的标题缝成一个情节给其他人。
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 包(v1.0.0)于 2021 年 3 月 24 日创建