How to place +/- plus minus operator in text annotation of plot (ggplot2)?

无人久伴 提交于 2020-01-02 01:15:17

问题


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)

回答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="±")



回答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.



来源:https://stackoverflow.com/questions/34365803/how-to-place-plus-minus-operator-in-text-annotation-of-plot-ggplot2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!