R 将同一组件添加到GGPlot列表中

R 将同一组件添加到GGPlot列表中,r,ggplot2,R,Ggplot2,我有一个ggplot2绘图的列表,我想向列表的每个元素添加相同的标题(Cars) library(ggplot2) l <- list( ggplot(data = mtcars, aes(x = mpg, y = cyl, col = am)) + geom_point(), ggplot(data = mtcars, aes(x = mpg, y = disp, col = am)) + geom_point(), ggplot(data = mtcars, aes

我有一个ggplot2绘图的列表,我想向列表的每个元素添加相同的标题(
Cars

library(ggplot2)
 l <- list(
   ggplot(data = mtcars, aes(x = mpg, y = cyl, col = am)) + geom_point(),
   ggplot(data = mtcars, aes(x = mpg, y = disp, col = am)) + geom_point(),
   ggplot(data = mtcars, aes(x = mpg, y = hp, col = am)) + geom_point()
 )
但是有没有一种方法可以一次将标题添加到列表中的所有元素


(注意:对于一个层来说,这是相当愚蠢的,但我可以将这样一个示例扩展到多个层。)

用户H1回答了这个问题。由于ggplot2由于分层而不同,我不确定
lappy()
在这种情况下可以工作。我现在了解到管道符号,
+
是一个要应用的函数

但添加标题并将图例放置在底部会产生预期效果:

 q <- lapply(l, function(x) x + ggtitle("Cars") + theme(legend.position = "bottom"))
 multiplot( plotlist = q, cols = 2)

q
lappy(l,`+`,ggtitle(“Cars”))
或者如果添加多个层
lappy(l,function(x)x++…)
。仅供参考,有几个包可以做的比
multiplot()多一点。
 q <- lapply(l, function(x) x + ggtitle("Cars") + theme(legend.position = "bottom"))
 multiplot( plotlist = q, cols = 2)