Multiple simple plots can combined as panels in a single figure by using layout or par(mfrow=...). However, more
Just as Dinre said, the "grid" pacakge can handle all complex plots. For the original question by @alittleboy, I think the package "ComplexHeatmap" (which is also base on grid) from Bionconductor can be a nice solution (http://www.bioconductor.org/packages/release/bioc/vignettes/ComplexHeatmap/inst/doc/ComplexHeatmap.html)