[R] Supercripting text
David Winsemius
dwinsemius at comcast.net
Tue May 11 22:36:14 CEST 2010
On May 11, 2010, at 12:37 PM, Shang Gao wrote:
> Another question: is it possible to keep the superscripts unbolded?
> For example if you run the codes below, it can be seen that using
> the expression(bold(paste(...))) command will result in the text
> being bolded but not the superscripts.
>
> ourtitle <- function(title, footnotes=NULL) {
> if (length(footnotes) > 0) {
> fn <- paste(footnotes, collapse=' ')
> title <- eval(substitute(expression(bold(paste(title, ""^fn))),
try instead:
expression(bold(paste(title^plain(fn))
> list(title=title, fn=fn)))
> }
> title
> }
>
> plot(0, type="n")
> text(1,0, expression(bold(paste("stuff",""^1, " "^2, " "^3))))
> text(1,0.5,ourtitle("stuff",1:3))
>
> -----Original Message-----
> From: Kevin Coombes [mailto:kevin.r.coombes at gmail.com]
> Sent: Monday, May 10, 2010 1:02 PM
> To: Shang Gao
> Cc: r-help at r-project.org
> Subject: Re: [R] Supercripting text
>
> Sigh; that's because I forget to include it in the 'substitute' list.
> Here is a version that works (and has been tested...).
>
> ourtitle <- function(title, footnotes=NULL) {
> if (length(footnotes) > 0) {
> fn <- paste(footnotes, collapse=' ')
> title <- eval(substitute(expression(bold(paste(title, ""^fn))),
> list(title=title, fn=fn)))
> }
> title
> }
>
> Shang Gao wrote:
>> I tried writing that function before, but the expression() command
>> is not preserved when we incorporate it into a function(). The
>> first example you gave me, if run in R, produced a title that reads
>> "title" instead of "stuff". It seems that in this case the
>> expression() can't read the character string in the argument
>> specified in the function() command.
>>
>> -----Original Message-----
>> From: Kevin Coombes [mailto:kevin.r.coombes at gmail.com]
>> Sent: Monday, May 10, 2010 12:08 PM
>> To: Shang Gao
>> Cc: r-help at r-project.org
>> Subject: Re: [R] Supercripting text
>>
>> You probably want to write your own titling function to add
>> superscripts. The following code will serve as a reasonable
>> starting point:
>>
>> # make the title expression
>> ourtitle <- function(title, footnotes=NULL) {
>> if (length(footnotes) > 0) {
>> fn <- paste(footnotes, collapse=' ')
>> title <- eval(substitute(expression(bold(paste(title, ""^fn))),
>> list(fn=fn)))
>> }
>> title
>> }
>> # example with footnotes
>> tt <- ourtitle("stuff", 1:3)
>> plot(1, 1)
>> title(tt)
>> # example without footnotes
>> plot(1, 1)
>> title(ourtitle("stuff"))
>>
>> Note that the only way I could make this work was to combine the
>> footnote list before calling the eval-substitute-expression code; I
>> cannot get it to work by applying things ot a list.
>>
>> Kevin
>>
>> Shang Gao wrote:
>>
>>> Dear R users,
>>>
>>> I recently developed a plotting function in R and introduced it to
>>> my coworkers. The function is designed to make plotting easier and
>>> more efficient, which will in turn be more cost-effective for the
>>> company. The reviews for the function have been positive thus far,
>>> except for one issue -- addition of superscripts to the title. We
>>> need superscipts in the titles sometimes to highlight footnotes
>>> which appear at the bottom of the plots.
>>>
>>> The syntax for supersciprts, however, is rather cumbersome,
>>> especially in titles since it needs to be bolded. So far the only
>>> way of superscripting is to use the expression() function. But to
>>> go about formatting the text such that it appears bolded as a
>>> title in my plots, I would have to type in the command
>>>
>>>
>>>> text(expression(bold(paste("text for title",""^1)))....)
>>>>
>>>>
>>> In some cases, the plot would require 3 footnotes to be shown, and
>>> the code would be
>>>
>>>
>>>> text(expression(bold(paste("text for title",""^1, " "^2, "
>>>> "^3))).....)
>>>>
>>>>
>>> Most of my coworkers are still in the process of picking up R,
>>> some have never used R before. The above commands may be a little
>>> too much for them to handle.
>>>
>>> Is there an easier way of superscripting texts in R? It would be
>>> great if any of you know of alternative ways other than using the
>>> expression() function.
>>>
>>> I greatly appreciate your help.
>>>
>>> Thank you.
>>>
>>> Sincerely,
>>> Shang
>>>
>>>
>>> [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> 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.
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list