[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