5

我大部分时间都能够强制 expression() 为我提供图表所需的数学输出,但我对此感到困惑。

text(-2,.21,expression(P(a <= X)), cex=1.2)

给了我预期的结果,但是

text(-2,.21,expression(P(a <= X <= b)), cex=1.2)

失败,箭头指向第二个 \le。将 2 块粘贴在一起也不起作用,因为 <= 需要左右标记;即这也失败了:

text(-2,.21,expression(<= X), cex=1.2)

有任何想法吗?令人沮丧的是,除了查看源代码之外,似乎没有任何关于表达式令牌解析器如何工作的文档。唯一的文档似乎是几个不同颜色的版本:

http://stat.ethz.ch/R-manual/R-patched/library/grDevices/html/plotmath.html

4

1 回答 1

8

您需要在 plotmath 中对运算符进行分组 - 换句话说,您必须明确优先级。要在不可见的情况下执行此操作,请将子语句包装{ }为:

R> plot(1:10, type = "n")
R> text(5, 5, expression(P(a <= {X <= b})), cex = 1.2)

这使

在此处输入图像描述

plotmath在标记理解列表的末尾记录了这一点(如果您知道它的含义) 。

于 2012-11-14T20:15:06.327 回答