[R] mtext uses the typographical descender to align text
p.dalgaard at biostat.ku.dk
Mon Aug 14 16:33:15 CEST 2006
Andreas Svensson <andreas.svensson at bio.ntnu.no> writes:
> One sometimes (quite often really ) marvel at the choice of defaults in
> R's graphic engine.
> For some obscure reason, mtext uses the typographical descender (bottom
> of letters) to align text. That is: "gG" will end up slightly higher
> that "GG". Depending on the font, "Q" might end up higher than "O".
> (for explanation of baseline & descender see:
> mtext(expression(italic("Normal 1")) ,1 , line=1, at=1)
> As the word "Higher" includes a descending letter (g), this factor name
> ends up higher.
> I must say I have never encountered a software that uses the
> typographical descender instead of the baseline to align text .
> Does anyone know how to make R use the baseline instead? Perhaps using
> adj or padj? Or do I have to do something silly as adding
> "g", col=white
> to each mtext-line to trick R into aligning the names.
Notice that it only happens when plotting math expressions. Using
mtext("Normal 1" ,1 , line=1, at=1,font=3)
mtext("Higher 1 " ,1 , line=1, at=2, font=3)
does not exhibit the same effect.
I suppose the idea is that math expressions can grow arbitrarily tall
or deep, and that the design decision (wise or not) has been to align
on the bounding box of the whole enchilada. For a workaround, if you
do need to do it with expressions, notice the phantom() construction.
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help