我尝试了几乎所有的paste(),bquote(),as.expression(),c(),......的组合。
plot(d[,"y"], type="l",xlim=c(1,n), ylim=c(min(d[,"y"]),max(d[,"y"])),
ylab="Y", xlab="T", main="ARMA(1,1)",
sub=c(as.expression(bquote(phi == .(coef_ar)),
as.expression(bquote(theta == .(coef_ma))))))
这只是绘制“phi = 0.5”(在这种情况下为希腊符号),而不是第二部分(theta)。 任何人都可以帮助我!
谢谢!
答案 0 :(得分:7)
您可以使用substitute
。 ~
将表达式与空格连接在一起
plot(1, main = substitute(phi == Phi ~ theta == Theta, list(Phi = 1, Theta = 1)))
或者您可以以类似的方式使用bquote
plot(1, main = bquote(phi == .(coef_ar) ~ theta == .(coef_ma)))
你的初始方法不起作用的原因是因为它创建了一个表达式向量,然后只使用了字幕的第一个元素。
如果您想要comma
个分隔值,请使用list()
,
例如
plot(1, main = bquote(list(phi == .(coef_ar), theta == .(coef_ma))))