【问题标题】:Patchwork: collect legend with different underlying values拼凑:收集具有不同基础价值的图例
【发布时间】:2021-10-17 14:44:37
【问题描述】:

我想使用 patchwork 包收集 9 个 ggplots 的图例。图例具有不同的基础值(见图 1),但都对应于相同的值标签(见图 2)。有没有可能收集到这些传说?使用plot_layout(guides = "collect") 不起作用。

图。 1

图。 2

我正在使用的代码:

library(patchwork)

(p1 | p2 | p3 | p4) / (p5 | p6 | p7 | p8 | p9) &
   scale_color_brewer(labels = c("-2 SD", "-1 SD", "Mean", "+1 SD", "+2 SD"),
                      palette = "RdYlBu") &
   scale_fill_brewer(labels = c("-2 SD", "-1 SD", "Mean", "+1 SD", "+2 SD"),
                     palette = "RdYlBu") &
   plot_layout(guides = "collect")

最小的工作示例

library(ggplot2)
library(patchwork)
plot1 <- ggplot(data = mtcars %>% mutate(cyl = as.factor(cyl)),
                mapping = aes(x = wt, y = mpg, group = cyl, color = cyl)) +
   geom_smooth(method = "lm")


plot2 <- ggplot(data = mtcars %>% mutate(cyl = as.character(cyl)),
                mapping = aes(x = wt, y = mpg, group = cyl, color = cyl)) +
   geom_smooth(method = "lm")

plot1 + plot2 &
   plot_layout(guides = "collect")

MWE 的预期结果

【问题讨论】:

  • 如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。
  • @MrFlick 刚刚添加了一个 MWE,我相信它可以重现此问题 - 感谢您的建议。

标签: r ggplot2 graphics patchwork


【解决方案1】:

如果您还没有解决这个问题,您需要在代码中使用+ 而不是&amp;

来自您的 mwe:

# note the +
plot1 + plot2 + plot_layout(guides = "collect")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-19
    • 2017-08-30
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 2020-04-09
    • 2020-11-27
    • 2013-08-20
    相关资源
    最近更新 更多