R 将同一组件添加到GGPlot列表中
我有一个ggplot2绘图的列表,我想向列表的每个元素添加相同的标题(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
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)
qlappy(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)