如何让常见的中心 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 日创建
我使用 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 日创建