4

虚拟代码:

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()and添加边距,plot_spacer()但这并不是我想要的。这就是我得到的:

在此处输入图像描述

4

1 回答 1

3

对于您的示例代码,一种选择是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))

reprex 包(v2.0.1)于 2021-09-22 创建

于 2021-09-22T12:43:32.953 回答