我想用ggsave()
保存R环境中的所有绘图。如何保存R环境中的绘图列表,然后将该列表用作ggsave()
的输入?
我从here中得到一些cars
的图来说明:
PlotA <- ggplot(mtcars, aes(x=hp, y=mpg, color=cyl, shape=cyl)) +
geom_point(size=3)
PlotB <- ggplot(mtcars, aes(x=hp, y=mpg, color=cyl, shape=cyl)) +
geom_point(size=3) +
geom_smooth(method="lm", aes(fill=cyl))
PlotC <- ggplot(mtcars, aes(x=hp, y=mpg)) +
geom_point(size=3, aes(color=cyl, shape=cyl)) +
geom_smooth(method="loess", color="black", se=FALSE) +
geom_smooth(method="lm", aes(color=cyl, fill=cyl))
- 我的尝试:
saveplots <- list()
saveplots <- ls(pattern = 'Plot')
### Save pngs ###
for(i in 1:length(saveplots)){
ggsave(saveplots[[i]],
file=paste0("Total", saveplots,".png"),
width = 22, height = 11.5, units = "cm",
path = "plots/")
}
4条答案
按热度按时间3htmauhk1#
您可以使用函数
get
从环境中获取对象。kzipqqlq2#
使用
mget
ff29svar3#
将
lapply
与ls
和get
结合使用的另一种类似方法:jhiyze9q4#
如果你不知道/不记得/不关心你所有的
ggplot
的名字是什么,试试saveplots <- lsclass('ggplot')
,它可以在我的包(在CRAN)“cgwtools”中找到;此处提供来源: