Lattice and ggplot2 packages have tools for creating multiple graphs in a grid. They can speed up the whole process if they apply to what you want to do.
library(lattice)
splom( ~ iris[,1:4], data=iris, groups=Species )
xyplot( mpg ~ wt | factor(cyl)*factor(am), data=mtcars )
library(ggplot2)
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p + facet_grid(am ~ cyl)
, , oma par, mtext, .
par( oma=c(0,6,6,0), mfrow=c(2,2), mar=c(2,2,1,1)+0.1 )
with(iris, plot(Sepal.Width, Petal.Width, ann=FALSE))
mtext( 'Width', side=3, line=2, at=grconvertX(0.5,'npc','nic'), outer=TRUE )
mtext( 'Width', side=2, line=2, at=grconvertY(0.5,'npc','nic'), outer=TRUE )
mtext( 'Sepal', side=3, line=4, outer=TRUE, cex=2 )
mtext( 'Petal', side=2, line=4, outer=TRUE, cex=2 )
with(iris, plot(Sepal.Length, Petal.Width, ann=FALSE))
mtext( 'Length', side=3, line=2, at=grconvertX(0.5,'npc','nic'), outer=TRUE )
with(iris, plot(Sepal.Width, Petal.Length, ann=FALSE))
mtext( 'Length', side=2, line=2, at=grconvertY(0.5, 'npc','nic'), outer=TRUE )
with(iris, plot(Sepal.Length, Petal.Length, ann=FALSE))