[R] Inserting superscripts in free-format text line

Peter Ehlers ehlers at ucalgary.ca
Mon Aug 20 23:30:05 CEST 2012


On 2012-08-20 12:27, William Dunlap wrote:
> paste() is ok, but it must be enclosed in expression(),
> just like the case that worked.
>
> plot(-15:15,15:-15)
> text(x=5, y=4.5, expression(test^1) )
> text(x=1, y=11, expression(paste("This is a ", test^1, " of the Emergency Broadcast System.")))
>
> plotmath only works on expressions, not on the strings
> that a call to paste would produce.

It's a matter of paste, of course (whoops, I mean a matter of _t_aste),
but I agree with David that, in plotmath situations, paste() is often
not the best way to proceed, especially in view of the fact that
plotmath's paste() doesn't recognize the 'sep=' argument; this often
confounds useRs.
In the above, example, I would prefer to use concatenation of the
string pieces with either '~' (a space) or '*` (no space):

   text(x=1, y=11, expression("This is a" ~ test^1 ~ "of the
           Emergency Broadcast System."))

or

   text(x=1, y=11, expression("This is a " * test^1 * " of the
           Emergency Broadcast System."))

If one is going to use plotmath expressions frequently, then these
two handy little symbols are worth knowing.

Peter Ehlers

>
>
> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com
>
>
>> -----Original Message-----
>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
>> Of David Winsemius
>> Sent: Monday, August 20, 2012 12:15 PM
>> To: Brian Kriegler
>> Cc: r-help at r-project.org
>> Subject: Re: [R] Inserting superscripts in free-format text line
>>
>>
>> On Aug 20, 2012, at 11:35 AM, Brian Kriegler wrote:
>>
>>> I would like to insert a superscript in a body of text (e.g., a
>>> title or axis label), where the superscript is not necessarily at
>>> the end of the text.  For example, suppose a title read, "This is a
>>> Test^1 of the Emergency Broadcast System" where there is a
>>> superscript 1 after the word Test.
>>>
>>> As a starting point for what I'm trying to do, the following shows a
>>> superscript:
>>> x=10
>>> plot(x)
>>> text(x=1, y=12, expression("test"^1)
>>
>> Not on my device. No closing paren.
>>
>> Why not:
>>
>> plot(1:10)
>> text(x=5, y=4.5, expression(test^1) )
>>
>> You do not need quotes in plotmath expressions unless they are
>> reserved plotmath function names. People reach for paste() in far too
>> many situations.
>>
>>>
>>> But, the following does not show a superscript:
>>> x=10
>>> plot(x)
>>> text(x=1, y=11, paste("This is a", expression("test"^1), "of the
>>> Emergency Broadcast System.")
>>
>> And why not:
>>
>>    expression(This~is~a~test^1~of~the~Emergency~Broadcast~System.)
>>
>>>
>> --
>>
>> David Winsemius, MD
>> Alameda, CA, USA
>>
>> ______________________________________________
>> 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.
>
> ______________________________________________
> 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.
>




More information about the R-help mailing list