[R] Multiple plot margins

Andre Nathan andre at digirati.com.br
Tue May 12 19:11:36 CEST 2009


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?

Thanks in advance,
Andre




More information about the R-help mailing list