as a new ggplot2 user, I am a bit lost with the amount of possibilities, and struggle to find on the net a simple answer to what I consider a simple problem.
I would
I would be inclined to agree with Richie, but if you want to arrange them yourself:
library(gridExtra)
library(ggplot2)
p <- list()
for(i in 1:4){
p[[i]] <- qplot(1:10,10:1,main=i)
}
do.call(grid.arrange,p)
take a look at the examples at the end of ?arrangeGrob
for ways to eliminate the for loop altogether:
plots = lapply(1:5, function(.x) qplot(1:10,rnorm(10),main=paste("plot",.x)))
require(gridExtra)
do.call(grid.arrange, plots)
This is my solution. Tiny change in the ggplot
function with the mapping
parameter to aes_string
.
library(gridExtra)
library(ggplot2)
p <- list()
for(i in 1:4){
p[[i]] <- ggplot(data=df,aes_string(x=df$x,y=df$y) +geom_bar(aes_string(x=class.names[i],fill=var.names[j])
}
do.call(grid.arrange,p)
Hope this helps!