[R] Multiple plot margins

Uwe Ligges ligges at statistik.tu-dortmund.de
Wed May 13 11:22:20 CEST 2009



Andre Nathan wrote:
> Hello
> 
> I'm plotting 6 graphs using "mfrow = c(2, 3)". In these plots, only
> graphs in the first column have titles for the y axis, and only the ones
> in the last row have titles for the x axis.
> 
> I'd like all plots to be of the same size, and I'm trying to keep them
> as near each other as possible, but I'm having the following problem.
> 
> If I make a single call to par(mar = ...), to leave room on the left and
> bottom for the axes titles, a lot of space will be wasted because not
> all graphs need titles; however, if I make one call of par(mar = ...)
> per plot, to have finer control of the margins, the first column and
> last row plots will be smaller than the rest, because the titles use up
> some of their space.
> 
> I thought that setting large enough values for "oma" would do what I
> want, but it doesn't appear to work if "mar" is too small.
> 
> To illustrate better what I'm trying to do:
> 
>   l +-----+ +-----+ +-----+
>   a |     | |     | |     |
>   b |     | |     | |     |
>   e |     | |     | |     |
>   l +-----+ +-----+ +-----+
>   
>   l +-----+ +-----+ +-----+
>   a |     | |     | |     |
>   b |     | |     | |     |
>   e |     | |     | |     |
>   l +-----+ +-----+ +-----+
>      label   label   label
> 
> where the margins between each plot should be narrow.
> 
> Should I just plot the graphs without axis titles and then use text() to
> manually position them?



Can't you do it with lattice / grid?


If not, example:

par(mfrow = c(2,3), mar = c(0,0,0,0), oma = c(5,5,0,0), xpd=NA)
plot(1, xaxt="n", xlab="", ylab="A")
plot(1, xaxt="n", yaxt="n", xlab="", ylab="")
plot(1, xaxt="n", yaxt="n", xlab="", ylab="")
plot(1, xlab="I", ylab="B")
plot(1, xlab="II", ylab="", yaxt="n")
plot(1, xlab="III", ylab="", yaxt="n")

Uwe Ligges




> Thanks in advance,
> Andre
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.




More information about the R-help mailing list