使用“ *”或“ |” ggplot2中的符号注释

时间:2018-12-06 02:50:34

标签: r ggplot2

我想使用annotate()函数将以下等式放入R中的ggplot中。

equation

到目前为止,我似乎能得到的最接近的是

ggplot()+ annotate("label", x = 1, y = 1, label = "APC == 0.50 ~ Depth ^ {-0.99} * (Cone == 0~Net == 1) ^ {0.59}", parse = TRUE, size = 5)

ok annotation

这很好,但是能够从等式中添加*|符号会很好。我尝试了以下方法:

ggplot()+ annotate("label", x = 1, y = 1, label = "APC == 0.50 * Depth ^ {-0.99} * (Cone == 0|Net == 1) ^ {0.59}", parse = TRUE, size = 5)

但最终看起来很奇怪

strange looking annotation

关于我如何添加or和star符号的任何建议?

如果有人可以向我解释|符号在实际使用时发生了什么,那也是假想的加分,为什么它出现在它的位置并加上括号和逗号?

1 个答案:

答案 0 :(得分:5)

一种替代方法可能是通过latex2exp::TeX

使用LaTeX表达式
library(ggplot2)
library(latex2exp)
ggplot() +
    annotate(
        "label",
        x = 1, y = 1,
        label = TeX("$APC = 0.50 \\times Depth^{-0.99} \\times (Cone = 0 | Net = 1)^{0.59}$"),
        size = 5)

enter image description here

另外两条评论:

  1. 需要指出的是,latex2exp支持某些 LaTeX表达式,但不是全部。例如,在LaTeX中,\vert|是同义词,但是尽管latex2exp正确地键入了|,但是\vert却失败了。 latex2exp vignette的“ Supported LaTeX”部分包含受支持的LaTeX表达式的列表。
  2. latex2exp::TeX中的所有LaTeX命令都需要加上附加的反斜杠作为前缀(转义)。因此\times成为\\times