我尝试了以下方法,但对我不起作用:
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(%+-%))
我也尝试过How to annotate() ggplot with latex 指出的以下方法,但没有运气:
a <- a + annotate("text", x=0.5, y=0.1, label="%+-%", parse=TRUE)
这也不管用:
a <- a + annotate("text", x=0.5, y=0.1, label="\pm", parse=TRUE)
可以使用unicode表示(
\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")
或者您可以直接使用
±
符号,通过从某处复制和粘贴它。
a + annotate("text", x=0.5, y=0.2, label="±")
这有效:
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)
关键思想是
%+-%
是一个operator,所以它必须对某些东西进行操作,即它必须是x %+-% y
的形式;在这种情况下,我已将 x
和 y
设为空白字符串。
你也可以使用
phantom()
:
annotate("text", x=0.5, y=0.1, label = "phantom() %+-% phantom()", parse = TRUE)
如果你想使用像
\pm
这样的完整的LaTeX风格的标记,你需要进入tikzDevice的兔子洞。然而,latex2exp::TeX
通常可以提供有用的提示,例如:
latex2exp::TeX("\\pm")
## LaTeX: \pm
## plotmath: phantom() %+-% phantom()