Re: [R] How to make label in multi plot

From: Paul Murrell <p.murrell_at_auckland.ac.nz>
Date: Mon 16 May 2005 - 13:36:57 EST

Hi

(cc'ed to Pierre Lapointe because this should answer the question about "[R] Centered overall title with layout()" as well)

Muhammad Subianto wrote:
> Dear R-Help,
> As a reference about multi plot,
> http://finzi.psych.upenn.edu/R/Rhelp02a/archive/48725.html
>
> I want to know how can I make a label for each row.
> I mean like,
>
> ------------ ------------- --------------
> | | | | | |
> Group A | plot1 | | plot 2 | | plot 3 |
> | | | | | |
> ------------- ------------- --------------
>
> -------------
> | |
> Group B | plot 4 |
> | |
> -------------
>

Two ways (at least):

(i) use an outer margin ...

ooma <- par(oma=c(0, 5, 0, 0))
layout(rbind(c(1, 2, 3),

              c(0, 4, 0)))
plot(1:10, main="Plot 1")
olas <- par(las=2)
mtext("Group A", side=2, adj=1, outer=TRUE,

       at=0.75)
par(olas)

plot(1:20, main="Plot 2")
plot(1:30, main="Plot 3")
plot(1:40, main="Plot 4")

olas <- par(las=2)
mtext("Group B", side=2, adj=1, outer=TRUE,

       at=0.25)
par(olas)
# new page!
plot(1:40, main="Plot 5")
par(ooma)

(ii) create an extra row/coloumn in the layout for the labels:

layout(rbind(c(1, 2, 3, 4),

              c(5, 0, 6, 0)),
        widths=c(2, 5, 5, 5))

# "plot 1" is label for row 1
omar <- par(mar=rep(0, 4))
plot.new()
text(0.5, 0.5, "Group A", cex=2)
par(omar)
plot(1:10, main="Plot 1")
plot(1:20, main="Plot 2")
plot(1:30, main="Plot 3")

# "plot 5" is label for row 2
omar <- par(mar=rep(0, 4))
plot.new()
text(0.5, 0.5, "Group B", cex=2)
par(omar)
plot(1:40, main="Plot 4")
# new page!
plot(1:40, main="Plot 5")

Paul

-- 
Dr Paul Murrell
Department of Statistics
The University of Auckland
Private Bag 92019
Auckland
New Zealand
64 9 3737599 x85392
paul@stat.auckland.ac.nz
http://www.stat.auckland.ac.nz/~paul/

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Received on Mon May 16 13:41:34 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:46 EST