虚拟代码:
library(ggplot2)
library(patchwork)
plot1 <- mpg %>% ggplot()
plot2 <- mpg %>% ggplot()
plot3 <- mpg %>% ggplot(aes(cyl, displ)) +
geom_point(aes(colour = manufacturer)) +
guides(colour=guide_legend(ncol=4))
(plot1 + plot2) / plot3
我不是在寻找组合的传奇,而是在寻找类似的东西:传说被“考虑”为情节的一部分。我试过用
theme()
添加边距和 plot_spacer()
但这不完全是我想要的。这就是我得到的:最佳答案
对于您的示例代码,一种选择是使用 guide_area()
像这样:
library(ggplot2)
library(patchwork)
library(magrittr)
plot1 <- mpg %>% ggplot()
plot2 <- mpg %>% ggplot()
plot3 <- mpg %>% ggplot(aes(cyl, displ)) +
geom_point(aes(colour = manufacturer)) +
guides(colour = guide_legend(ncol=3))
plot1 + plot2 + plot3 + guide_area() +
plot_layout(guides = 'collect')
另一种选择是通过
cowplot::get_legend
提取指南并将其添加到拼凑而成,如下所示:(plot1 + plot2) / (plot3 + guides(color = "none") + cowplot::get_legend(plot3))
创建于 2021-09-22 由 reprex package (v2.0.1)
关于r - 使用拼凑法排列多个地 block 时,如何将图例合并为地 block 大小图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69284225/