我熟悉在R中绘制文本基础图形中的特殊Tex时使用expression()和bquote(),但如何在不让解析器抛出错误的情况下执行“近似等于”。在确定标记时,我指的是?plotmath。
plot(c(1,100), c(1,100), type="n", axes=FALSE, xlab="", ylab="")
# This works
text(50, 80, expression(paste("The area is 24 ", km^2)))
# This doesn't
text(50, 50, expression(paste("Reginald is ", %~~% , "14 years old")))发布于 2012-03-10 05:30:16
这应该能起到作用:
plot(c(1,100), c(1,100), type="n", axes=FALSE, xlab="", ylab="")
text(50, 50,
expression(paste("Reginald is ", phantom() %~~% phantom(), "14 years old")))你的版本不起作用的原因是%~~%‘运算符’希望成为表达式的一部分,并且左右两边都有东西。phantom()为您提供了一个(a)不可见和(b)不占用宽度的东西-这正是您所需要的。
编辑
我每天都学到一些东西。Brian Diggs在评论中指出,您可以产生相同的效果,只需在表达式中省略逗号(在这种情况下,您甚至不需要对paste()的嵌套调用)。这是更好的解决方案:
text(50, 50, expression("Reginald is " %~~% "14 years old"))https://stackoverflow.com/questions/9641105
复制相似问题