[R] Plotmath bug or my misunderstanding?

Bert Gunter gunter.berton at gene.com
Sun May 13 16:43:29 CEST 2012


Peter/David:

1. For some reason, I didn't see Peter's reply on r-help.

2. To Peter: Aha!!
Let me play this back to you. In

 text(1,1,labels=expression(atop(atop(sigma,"some text"),"another
level")),cex = 2)

The (outer) whole atop() specification is allocated twice the amount
of space that would be required for the current font size, cex =1.
Then each of the top and bottom is allocated the amount of space
needed within this cex = 2 space. For the inner atop to fit within
that allocated amount of space, its top and bottom must get smaller,
of course. N'est-ce pas?

This makes sense to me!  My misunderstanding is thinking that cex
applied to the individual text components, not the entire expression.
Enlightenment much appreciated.

3. However, this now begs the question of how to keep all text and
symbols the same size, which is really what the OP really wanted (a
way to emulate multiple lines). I'll fool around with this to see what
I come up with now that I'm enlightened -- or see if you or David come
up with something clever.


Cheers,
Bert



On Sat, May 12, 2012 at 9:27 PM, David Winsemius <dwinsemius at comcast.net> wrote:
>
> On May 12, 2012, at 6:27 PM, Peter Ehlers wrote:
>
>> Hi Bert,
>>
>> I think the 'cex=' argument applies to the outermost 'atop()'.
>> It then applies that size specification to each of the two
>> components of the atop(a,b). If one of the components is itself
>> another atop(a,b), then the individual parts are sized downward
>> to produce the required cex for the unit.
>>
>> As for the 'cex=1:2' specification, only the first value is used.
>
>
> Isn't there also a 0.67 factor being applied to whatever was the "outside"
> size prior to being used for the atop arguments? So the inner atop arguments
> get that applied twice if I understand correctly.
>
> text(1,1,labels=expression(atop(
>               atop("top level one", "top level two"),
>               "another level")
>     ) )
>
>
> I did notice that the cr-linefeed (perhaps unintentionally being inserted by
> a mail client) seemed to be "working" at least on my Mac :
>
> plot(1,1)
> text(1,1,labels=expression("another
> level")
>     )
>
> Whereas it is well known that "\n" will appear as two characters, \n, and
> not be interpreted as a special.
> --
> David
>>
>>
>> Cheers,
>> Peter Ehlers
>>
>> On 2012-05-12 14:05, Bert Gunter wrote:
>>>
>>> This is a followup to a recent post on using atop() to obtain
>>> multiline expressions.
>>>
>>> My reading of the plotmath docs makes it clear that issuing (in base
>>> graphics) the specification
>>>
>>> par(cex = 2)
>>>
>>> doubles symbols and regular text in subsequent plotmath expressions.
>>> However, it is unclear to me what specifying cex _within_ the
>>> annotation function using plotmath should do, and the following seems
>>> to want to have it both ways: ignore/obey )or maybe recycle?)
>>>
>>> plot(1,type="n", xaxt='n', yaxt='n', ann=FALSE)
>>>  text(1,1,labels=expression(atop(sigma,"some text")),cex = 2)
>>> ## obeys the cex specification in symbols and text
>>>
>>> HOWEVER
>>>
>>> plot(1,type="n", xaxt='n', yaxt='n', ann=FALSE)
>>>  text(1,1,labels=expression(atop(atop(sigma,"some text"),"another
>>> level")),cex = 2)
>>> ## ???
>>>
>>> For even more fun, try:
>>>
>>> plot(1,type="n", xaxt='n', yaxt='n', ann=FALSE)
>>>  text(1,1,labels=expression(atop(atop(sigma,"some text"),"another level")),cex = 1:2)
>>> ##????
>>>
>>> So I confess to being flummoxed. Enlightenment would be much appreciated.
>>>
>>> Cheers,
>>> Bert
>>>
>>>
>>>
>>>
>>
>> ______________________________________________
>> 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.
>
>
> David Winsemius, MD
> West Hartford, CT
>



-- 

Bert Gunter
Genentech Nonclinical Biostatistics

Internal Contact Info:
Phone: 467-7374
Website:
http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm



More information about the R-help mailing list