为组合的 3 个数字添加图例

add legends for combined 3 figures

我想为我的 3 个数字添加相同的图例。

通常,我倾向于使用 ggarrangeplot_grid 函数要求 common.legend = TRUE 绘制相同的图例。但现在我想添加我的图例,它是同一行的单个图。

我想要如下图

对我有什么建议吗?

Link 图片:(http://www.sthda.com/english/articles/32-r-graphics-essentials/126-combine-multiple-ggplots-in-one-graph/)

有一种使用基本 R 图形功能的相当简单的方法。初始化一个 plot.new() 并自定义任何 legend.

cols <-  c(7, 4, 2)  ## colors


op <- par(mfrow=c(2, 2), mar=c(4.5, 4, 2, 2) + .1)  ## set and stor old pars

boxplot(len ~ dose, m, col=0, border=cols)
plot(len ~ jitter(dose), m, col=cols)
plot(m$len, type='l', col='orange')
plot.new()
legend('center', leg=c('foo', 'bar', 'baz'), pch=15, col=cols, h=TRUE, bty='n')

par(op)  ## restore old pars


数据:

m <- expand.grid(dose=c(.5, 1, 2), len=matrix(runif(100, 0, 30)))
m[, 2] <- m[, 2] + (1:3*10)

我们也可以使用从 link

创建的 patchwork(对象 'bxp'、'dp'、'lp')
library(patchwork)
bxp + dp + lp + guide_area() +  
      plot_layout(guides = "collect")

-输出