[R] Help! I couldn't put multiple qplot on the same page...
Michael
comtech.usa at gmail.com
Wed Dec 7 23:14:01 CET 2011
Hi all,
I am stuck at ploting multiple graphs on one page. I don't why it doesn't work.
All the 6 plots are either exactly the same, or they simply don't plot
at all. I made sure that in each iteration the "datasub" and
"factorsub" are different ...
Could you please help me?
Thanks a lot!
I did my homework and followed the following advice:
http://stackoverflow.com/questions/1249548/side-by-side-plots-with-ggplot2-in-r
my.multiplot <- function(..., plotlist=NULL, cols) {
require(grid)
# Make a list from the ... arguments and plotlist
plots <- c(list(...), plotlist)
numPlots = length(plots)
# Make the panel
plotCols = cols # Number of columns of plots
plotRows = ceiling(numPlots/plotCols) # Number of rows needed,
calculated from # of cols
# Set up the page
grid.newpage()
pushViewport(viewport(layout = grid.layout(plotRows, plotCols)))
vplayout <- function(x, y)
viewport(layout.pos.row = x, layout.pos.col = y)
# Make each plot, in the correct location
for (i in 1:numPlots) {
curRow = ceiling(i/plotCols)
curCol = (i-1) %% plotCols + 1
print(plots[[i]], vp = vplayout(curRow, curCol ))
}
}
My code is as below:
----------------------------
myplotlist=vector('list', 6)
nCount=0;
for (j in myyears)
{
print(j)
nCount=nCount+1
#...
# prepare datasub and factorsub for different j...
#...
tmp<-data.frame(as.double(datasub),as.numeric(factorsub))
tt=qplot(factor(as.numeric(factorsub)),as.double(datasub),data=tmp,geom
= "boxplot",ylab='Chg',xlab='Hours', main=j)
myplotlist[nCount]=tt
}
my.multiplot(plotlist=myplotlist,cols=3)
More information about the R-help
mailing list