[R] mtext uses the typographical descender to align text
Andreas Svensson
andreas.svensson at bio.ntnu.no
Mon Aug 14 17:48:55 CEST 2006
Hi
The reason I use expression is to get italics. Perhaps this is possible
some other way?
/A
Peter Dalgaard wrote:
>Andreas Svensson <andreas.svensson at bio.ntnu.no> writes:
>
>
>
>><>
>>
>>Hello
>>
>>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:
>>http://www.paratype.com/help/term/terms.asp?code=88)
>>
>>
><snip>
>
>
>>mtext(expression(italic("Normal 1")) ,1 , line=1, at=1)
>>
>>
><snap>
>
>
>>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)
>etc.
>
>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.
>
>
>
More information about the R-help
mailing list