On Sun, 2 Sep 2007, Sébastien wrote:

Dear R Users,

I am quite surprised to see that mtext gives different results when it
is used with 'pairs' and with "plot'. In the two following codes, it
seems that the 'at' argument in mtext doesn't consider the same unit system.

It is stated to be in 'user coordinates'. Your code does not work because unit() is missing. If you mean the one from package grid, "npc" is not user coordinates (and refers to a grid viewport which you have not set up and coincidentally is the same as the initial user coordinate system to which pairs() has reverted).

Try par("usr") after your pairs() and plot() calls to see the difference.
Plotting a 2x2 array of plots _is_ different from plotting one, so this should be as expected.

Since centring is the default for 'adj', it is unclear what you are trying to achieve here.

I would appreciate your comments on this issue.

Sebastien

##### Pairs

mydata<-data.frame(x=1:10,y=1:10)

par(cex.main=1, cex.axis=1, cex.lab=1, lwd=1,
   mar=c(5 + 5,4,4,2)+0.1)

pairs(mydata,oma=c(5 + 5,4,4,2))

mylegend<-c("mylegend A","mylegend B","mylegend C","mylegend test")
mylegend.width = strwidth(mylegend[which.max(nchar(mylegend))], "figure")

for (i in 1:4) {
mtext(text=mylegend[i],
       side = 1,
       line = 3+i,
       at = unit((1-mylegend.width)/2,"npc"),            # centers the
legend at the bottom
       adj=0,
       padj=0)}

##### plot

mydata<-data.frame(x=1:10,y=1:10)

par(cex.main=1, cex.axis=1, cex.lab=1, lwd=1,
   mar=c(5 + 5,4,4,2)+0.1)

plot(mydata,oma=c(5 + 5,4,4,2))

mylegend<-c("mylegend A","mylegend B","mylegend C","mylegend test")
mylegend.width = strwidth(mylegend[which.max(nchar(mylegend))], "figure")

for (i in 1:4) {
mtext(text=mylegend[i],
       side = 1,
       line = 3+i,
       at = unit((1-mylegend.width)/2,"npc"),            # should
center the legend at the bottom but doesn't do it !
       adj=0,
       padj=0)}

--
Brian D. Ripley,                  [EMAIL PROTECTED]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595
______________________________________________
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
and provide commented, minimal, self-contained, reproducible code.

Reply via email to