How can I combine text and math expressions in a plot's title. If I use paste the expression is converted to character. For example I want something like this as a title
$ARL_1$ curve for $S^2$
Thank you
How can I combine text and math expressions in a plot's title. If I use paste the expression is converted to character. For example I want something like this as a title
$ARL_1$ curve for $S^2$
Thank you
You want to read ?plotmath
to see how to do this sort of thing. Here is an example:
plot(1:10, main = expression(ARL[1] ~ "curve for" ~ S^2))
The [.]
is subscript, whilst ^
gives superscript. The ~
spaces out the parts of the expression as if there were literal spaces.
Edit: normally I would have done:
plot(1:10, main = expression(ARL[1] ~ curve ~ for ~ S^2))
but that throws an error because for
is being interpreted as the start of a for()
loop call.
"for"
you might as well do "curve for"
, unless ~
and " " are different amounts of space...? –
Jubilate `
. –
Glottology You can also use bquote(paste(...))
, which is a little more flexible than expression
: you can include variable values (say, the value of x
) in the labels with .(x)
. For example:
x<- 232323
plot(1:10, main = bquote(paste(ARL[1], " curve for ", S^2, "; x=",.(x))))
paste
is a pain in the but if you get your ,
or ""
in the wrong places... –
Jubilate bquote()
), just a point about introducing paste in there if you can avoid it. bquote()
is underused and very powerful! –
Jubilate You can also use latex2exp::TeX
to convert TeX to expressions on the fly:
plot(cars, main = TeX("$ARL_1$ curve for $S^2$"))
© 2022 - 2024 — McMap. All rights reserved.
expression(ARL[1] ~ curve ~ "for" ~ S^2)
. – Glottology