I have my axis ticks:
axis(4,at=c(1.6526,1.9720,2.6009,3.3403),las=1)
now I want to label them. The text should be something like this:
labels=c("alpha=0.1","alpha=0.05","alpha=0.01","alpha=.001")
But I want alpha to look like the greek character. Thanks!
To make a Greek letter in R, You just use \ and then the name of the letter. If you want a subscript, like β1 , you use $\beta_1$ .
R allows users great flexibility in creating and formatting plots. Greek letters can be included in titles and labels using the expression command.
Adding Greek symbols to Plot Title In this method to use Greeks symbols in ggplot2 user need to call the expression function which is a base function of the R programming language, and pass the name of the Greek symbols to be used as the parameters to this function to get a Greek symbol to the ggplot2.
You can use the expression
without having to use paste
axis(4,at=c(0.75,1.75),labels=c(expression(alpha==0.1),expression(alpha==0.2)),las=1)
Crafting these by hand is OK if there are a few labels, but is tedious and not-automated. There are ways to combine individual expression into an expression "vector", and we can automate the construction of the individual expressions. Here is one way, I forget if there are other ways or even if this is the canonical way (the general issue has been asked and answered on StackOverflow [including by me!] before but I couldn't find it in a very quick search).
op <- par(mar = c(5,4,4,6) + 0.1)
plot(1:10)
axis(1)
labs <- lapply(alpha, function(x) bquote(alpha == .(x)))
axis(4, at = seq(1, by = 2, length = 5),
labels = do.call(expression, labs), las = 1)
par(op)
Which produces
I separated the the stages for exposition. The first is
> labs <- lapply(alpha, function(x) bquote(alpha == .(x)))
> labs
[[1]]
alpha == 0.1
[[2]]
alpha == 0.05
[[3]]
alpha == 0.01
[[4]]
alpha == 0.005
[[5]]
alpha == 0.001
which produces a list of calls.
The second step is to combine these into an expression, which I do with do.call()
> do.call(expression, labs)
expression(alpha == 0.1, alpha == 0.05, alpha == 0.01, alpha ==
0.005, alpha == 0.001)
You can of course combine these:
labs <- do.call(expression, lapply(alpha, function(x) bquote(alpha == .(x))))
axis(4, at = seq(1, by = 2, length = 5),
labels = labs, las = 1)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With