2011-09-28 22 views
2

更新:我自己实际找到了解决方案,请参见下文。在绘图中使用普通文字与普通文字的组合

在R我想添加一个标签到包含下标和正常文本的情节。更确切地说,我想使用mtext()(或任何其他方法)来在图下添加文本。文本应该是这样的:

The label
这可以在乳胶轻松地完成与$B\pm t_{a/2}SE(B)$

在RI来尽可能mtext(expression(B%+-%t[a/2])),它可以打印

r so far

但困难是因为SE(B)作为函数的表达式处理SE(B)部分。我已经尝试了几种粘贴组合,但无济于事。我确信必须有一个简单的解决方案,但经过很长时间的搜索后,我无法找到一个。


UPDATE:

哇,找到了解决办法喽。正如我所说我已经尝试过表情和粘贴的组合,并确信我之前尝试过,但显然,我没有。解决的办法是这样的:

mtext(expression(paste(B%+-%t[a/2],"SE(B)"))) 
+4

“(已解决)”您的标题是不必要的。您可以将您的解决方案发布为您自己问题的答案。 –

回答

7

我看你已经解决了这个,但你最终的解决方案是更加精美,简洁处理,通过降低使用paste()并使用~操作添加间距:

expression(B %+-% t[a/2] ~ SE(B)) 

如:

plot(1:10, xlab = expression(B %+-% t[a/2] ~ SE(B))) 

这给

enter image description here

例如,您可以通过使用多个~~~~来添加额外间距。如果你只是想并列方程两个部分组成,采用*运算符,如:

plot(1:10, xlab = expression(B %+-% t[a/2] * SE(B))) 

这给:

enter image description here

它是不是从您的问与答其中一个立即清除是优选的。

+0

+1用于说明在plotmath表达式中正确使用'*'。当'*'是更紧凑和“明确”的选择时,很多人使用'paste'。 –