[R] expression() - Superscript in y-axis, keeping line break in string
Marc Schwartz (via MN)
mschwartz at mn.rr.com
Fri Aug 4 18:01:06 CEST 2006
On Fri, 2006-08-04 at 09:47 -0600, Andrew Kniss wrote:
> I've tried several different ways to accomplish this, but as yet to no
> avail. My y-axis for a plot has a rather long label, and thus I have
> been using "/n" to break it into two lines. However, to make it
> technically correct for publication, I also need to use superscript in
> the label. For example:
>
> par(oma=c(0,0,2,0),mar=c(5,6,0.25,2),lheight=1)
> plot(1:10,
> ylab="14C-glyphosate line1\n line2")
>
> will provide the text in two lines as I would like it. However, I am
> trying to keep those same line breaks when using expression() to get my
> superscript number. This will not work, as it aligns the "14C" section
> with the bottom line of the expression making little sense to the
> reader.
>
> par(oma=c(0,0,2,0),mar=c(5,6,0.25,2),lheight=1)
> plot(1:10,
> ylab=expression(" "^14*C*"-glyphosate line1\n line2"))
>
> Is there a way to align the "14C" portion of the expression with the top
> line of the string rather than the bottom line? Any suggestions are
> greatly appreciated.
> Andrew
plotmath, as has been covered many times previously, does not support
multi-line expressions. A note should probably be added to ?plotmath on
this.
Thus, you need to create each line in the label separately:
par(oma=c(0,0,2,0),mar=c(5,6,0.25,2),lheight=1)
plot(1:10, ylab = "")
# Now use mtext() to place each line of the y axis label
mtext(2, text = expression(" "^14*C*"-glyphosate line1"), line = 3)
mtext(2, text = "line2", line = 2)
See ?mtext for more information.
HTH,
Marc Schwartz
More information about the R-help
mailing list