Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Superscript in R

Tags:

r

superscript

How do I superscript the units this axis title. The "" represent the parts that I need to be superscripted: Photosynthetically available radiation (µE m"-2"d"-1").

I have used the formula and having no luck so far:

plot(PAR~SST,data=brazilw, pch=15,col="red", main ="Fig. 1. Relationship between photosynthically available radiation\n and sea surface temperature",
ylab=expression("Photosynthetically available radiation (µE m"^-2~d^-1))
like image 727
user3170629 Avatar asked Dec 19 '22 19:12

user3170629


2 Answers

Whilst I don't see a real problem in this particular instance, I can see if being an issue with other labels. I tend to group the elements of the super/subscript in braces { }, LaTeX stylee.

Here is an example:

plot(1:10,
     ylab = expression("Photosynthetically available radiation" ~ 
                         (µE ~ m^{-2} ~ d^{-1})
                       )
     )

There are gotchas with your version and the one above; the bit in the braces also needs to be a valid expression, hence

plot(1:10,
     ylab = expression("Photosynthetically available radiation" ~ (µE ~ 
                         m^{2-} ~ d^{1-})))

fails with an error. (I sometimes need those forms for writing down formulae for ions for example). To solve this issue you really do need the braces { } and you need something to come after the - operator. This latter feature is handled by phantom(), which leaves space in the expression for its argument, but as we won;t specify one, it is just a placeholder for nothing that can go on the right hand side of -:

plot(1:10,
     ylab = expression("Photosynthetically available radiation" ~ (µE ~ 
                         m^{2-phantom()} ~ d^{1-phantom()})))

phantom() is also quite useful for placing a sub/superscript before a string, like you would with isotope notation

plot(1:10, ylab = expression(phantom()^{210} * Pb))
like image 177
Gavin Simpson Avatar answered Dec 22 '22 11:12

Gavin Simpson


Two problems I see: There is not sufficient space for the superscripts on the margin and there is no closing right-paren. It's easy enough to add the closing paren with:

ylab=expression("Photosynthetically available radiation (µE m"^-2~d^-1*")"))

(You do need to quote the paren because it is "active" or "special" in expressions. Or you could use the plotmath group-function. The margin is accessible with the par command or you could use the title command to specify a ylab that is closer to the plot:

plot(1,1, ylab="")
title(ylab=expression("Photosynthetically available radiation (µE m"^-2~d^-1*")"),
      line=2)
like image 43
IRTFM Avatar answered Dec 22 '22 10:12

IRTFM