Reputation: 564
I am trying to save a list of plots with a .png extentions. I can save them individually as a loop.
a <- data.frame(x=sample(10))
b <- data.frame(x=sample(10))
c <- data.frame(x=sample(10))
data<-list()
data[[1]] <- a
data[[2]] <- b
data[[3]] <- c
for(i in 1:3)
{
temp_plot <- ggplot(data[[i]]) +
theme_bw() +
geom_histogram(aes(x=x))
ggsave(temp_plot, file=paste0("plot_", i,".png"), width = 14, height = 10, units = "cm")
}
I have 2 questions:
Thank you.
Upvotes: 1
Views: 326
Reputation: 546213
You can save them in a list, yes — for example, using lapply
:
plots = lapply(data, \(x) ggplot(x) + theme_bw() + geom_histogram(aes(x = x)))
(pre R 4.1.0, you need to replace \(x)
with function (x)
.)
By “open” I assume you mean how to plot them? Well, using plot
:
plot(plots[[2L]])
… or implicitly:
plots[[2L]]
Upvotes: 2