2010-11-22 67 views
4

如何在R的阴谋的标题中显示$ \ {X_t \} $乳胶的标题?

例如

plot(slot(x,"GRID"),slot(x,"PATH"),type="l", xlab="Time t",ylab="X", 
main=paste("Simulation of \{X_t\}")) 

谢谢!

+0

嗯......有趣Q.我可以补充一点:有ggplot2的方法吗? – 2010-11-22 08:55:10

+1

@ ran2:你这样做,他们都是我们的情节。我用一个例子更新了我的答案。 – 2010-11-26 22:36:44

回答

9

假设你将为插槽表达式提供有意义的参数,那么我认为这是一个合理的机会,这是你想要什么:

plot(1:10,1:10,type="l", xlab="Time t",ylab="X", 
     main=expression("Simulation of {"*X[t]*"}")) 

这是一个plotmath表达呈现“T”的标的“X”,并且该表达式包含在曲线括号中。如果我误解了您的请求,请注意“*”字符是plotmath语法中的分隔符,并且大括号只是可以被删除的字符。 (LaTeX表达式对于我们这些只使用plotmath语法的人来说意义不大,因此用散文或数学术语描述您想要的内容对于任何澄清都会更好。)

6

要让R模拟LaTeX排版,请参阅?plotmath中描述的示例和方法。

要真正让LaTeX排版您的绘图文本,请使用tikzDevice软件包提供的tikz()图形设备。

+0

谢谢!这两种方法各有优缺点? – Tim 2010-11-23 01:46:39

+0

使用tikzDevice LaTeX处理文档中所有文本的排版方式,包括数字。这意味着您可以排版奥术方程式,并且您的字体字体将无缝地匹配您的纸张的其余部分 - 即使您碰巧使用的是Klingon。使用R的内置PDF的优点是它不依赖于LaTeX编译器,并且除了R错误消息的世界之外,您不必与LaTeX错误消息的世界相抗衡。 – Sharpie 2010-12-07 06:11:36

4

group() plotmath函数can用来形式化迪文的答案。该解决方案具有不使用字符串作为表达式一部分的优点(恕我直言)。相反,我们使用~运算符来添加间距(忽略空白)。

plot(1:10, 1:10, type = "l", xlab = "Time t", ylab = "X", 
    main=expression(Simulation ~ of ~ group("{", X[t], "}"))) 

bgroup() plotmath功能提供了可扩展的分隔符,但以相同的方式如上面的例子码。

编辑(响应于RAN2的评论): 同样方法可在ggplot和晶格中使用,使用plotmath的功率,就如用碱的图形。例如。

require(ggplot2) 
df <- data.frame(A = 1:10, B = 1:10) 
qplot(A, B, data = df, 
     main = expression(Simulation ~ of ~ group("{", X[t], "}"))) 
+0

+1 thx为ggplot片段! – 2010-11-28 13:57:02