How to place +/- plus minus operator in text annotation of plot (ggplot2)?
28,289
Solution 1
It is possible to use the unicode representation (\u00B1
):
a <- ggplot()
a <- a + geom_point(aes(x=seq(0,1,0.1), y=seq(0,1,0.1)))
a <- a + annotate("text", x=0.5, y=0.3, label="myplot")
a + annotate("text", x=0.5, y=0.2, label="\u00B1")
Or you can use the ±
symbol directly, by copying and pasting it from somewhere.
a + annotate("text", x=0.5, y=0.2, label="±")
Solution 2
This works:
a0 <- ggplot()
a0 <- a0 + geom_point(aes(x=seq(0,1,0.1), y=seq(0,1,0.1)))
a0 + annotate("text", x=0.5, y=0.1, label="'' %+-% '' ", parse=TRUE)
The key idea is that %+-%
is an operator, so it has to operate on something, i.e. it has to be in the form x %+-% y
; in this case I've made x
and y
be blank strings.
Author by
PopcornKing
Updated on December 20, 2020Comments
-
PopcornKing over 3 years
I have tried the following, but it doesn't work for me:
a <- ggplot() a <- a + geom_point(aes(x=seq(0,1,0.1), y=seq(0,1,0.1))) a <- a + annotate("text", x=0.5, y=0.3, label="myplot") a <- a + annotate("text", x=0.5,y=0.2,label=expression(%+-%))
I have also tried the following as pointed out by How to annotate() ggplot with latex with no luck:
a <- a + annotate("text", x=0.5, y=0.1, label="%+-%", parse=TRUE)
And this doesn't work either:
a <- a + annotate("text", x=0.5, y=0.1, label="\pm", parse=TRUE)
-
rawr over 8 yearsphantom also works, although it is almost completely undocumented
-
IRTFM over 8 yearsReading and re-reading the plotmath page is necessary. And actually it is
phantom()
that is needed.