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

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

我似乎能找到的最接近的是以下内容

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


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

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

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


但最终看起来很奇怪

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

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

如果有人可以向我解释|符号的实际含义,为什么还要假想加分,为什么它出现在它的位置并加上括号和逗号呢?

最佳答案

一种替代方法是通过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)


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

另外两条评论:


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

08-24 13:10