【问题标题】:Combine multiple ggplots into one plot with shared gradient legend将多个 ggplots 合并为一个具有共享梯度图例的图
【发布时间】:2020-08-25 11:16:54
【问题描述】:

我有多个 ggplots,目前它们有不同的渐变图例。我想使用 grid extra 包来创建一个包含所有图的图,例如 Add a common Legend for combined ggplots

但是,该解决方案适用于分组的离散数据。有没有办法让它适用于我的渐变图例。

【问题讨论】:

  • Here's a nice vignette 关于使用 cowplot 包中的 extract_legend 执行此操作。如果您需要更多“动手”帮助,您需要发布一个可重现的示例,以便我们为您提供帮助。

标签: r ggplot2


【解决方案1】:

如果没有更多信息(例如当前代码以及dput 输出),很难回答您的问题。

但是,仅根据您的讲话,{patchwork} 包 (link) 似乎最适合这种操作。

例如,你可以这样写:

library(tidyverse)
library(patchwork)

p1 <- ggplot(mtcars) + geom_point(aes(mpg, disp, color=hp))
p2 <- ggplot(mtcars) + geom_point(aes(drat, wt, color=hp))

p1 + p2

p1 + p2 + plot_layout(guides = 'collect')

【讨论】:

  • 顺便说一句,您正在组合的图中的两个图例应该具有完全相同的限制、中断、标签、名称等。否则将不会收集它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-23
  • 1970-01-01
  • 2016-01-09
  • 1970-01-01
  • 2013-05-20
相关资源
最近更新 更多