[R] Constructing arguments for plotmath

David Winsemius dwinsemius at comcast.net
Sun Aug 1 18:32:07 CEST 2010


On Aug 1, 2010, at 11:03 AM, Dennis Fisher wrote:

> Colleagues,
>
> I am encountering difficulty adding formatted text to a graphic.   
> Specifically, I want to add a superscript in the middle of a text  
> string but I would like to format the text string on the fly.  The  
> commands:
> 	plot(1,1)
> 	ARG	<- bquote('TEXT'^'\u00ae')
> 	mtext(ARG, line=-2, side=1)
> yield the desired output.
>
> However, my goal is to paste together a string, then pass it to  
> mtext.  For example:
> 	plot(1,1)
> 	PART1	<- 'TEXT'
> 	PART2	<- '^'
> 	PART3	<- '\u00ae'
> 	ARG	<- paste(PART1, PART2, PART3)
> 	mtext(bquote(.(ARG)), line=-2, side=1)		## bquote(ARG) also does  
> not work
> This does not work -- the unprocessed string:
> 	 TEXT ^ ®
> is printed.
>
> Obviously, I don't understand some aspect of passing arguments to  
> bquote.  Of note, I tried "expression" instead of bquote but I was  
> not able to get the registered sign ('\u00ae') to appear as a  
> superscript.

I'm would be embarrassed to state the number of failed attempts I made  
with substitute, expression,, as.expression and parse before eventual  
success, but here's what finally "worked".

plot(1,1);
  mtext(bquote(.(PART1)^.(PART3)), line=-2, side=1)

  I think trying to substitute for "^" will require a different  
approach, since sticking a series of .() calls seems to be  
unacceptable to the interpreter :

## "Does not work"
  plot(1,1);
    mtext(bquote(.(PART1).(PART2).(PART3)), line=-2, side=1)
#Error: unexpected symbol in "         mtext(bquote(.(PART1)."

>
> Any help would be appreciated.
>
> Dennis
> 	
> (R 2.11; OS X [platform should not be an issue here])

I cannot assess, since that is also my platform.

-- 
David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list