弦乐&标题标题,标签等中的表达

时间:2013-08-25 02:25:21

标签: r plotmath

我正在尝试将用户提供的字符串和固定字符串粘贴在一起,用于绘图标题。

一个简单的案例当然有效:

userTitle <- "user title" # Example 1
fullTitle <- paste(userTitle, ": Results", sep = "")
plot(1:10, main = fullTitle)

但是如果用户的标题包含表达式呢?这是我尝试过的一些事情:

# This works, but doesn't include the fixed string # Example 2
userTitle <- expression(italic(Genus)~italic(species)) # EDIT: this was missing
fullTitle <- bquote(.(userTitle))
plot(1:10, main = fullTitle)

尝试添加固定字符串。有些事情不太奏效:

fullTitle <- bquote(.(userTitle)~':'~Results) # Example 3
plot(1:10, main = fullTitle) # title missing .(userTitle)

fullTitle <- bquote(paste("Results:", .(userTitle))) # Example 4
plot(1:10, main = fullTitle) # title missing .(userTitle)

但是这个例子,来自here的工作得很好[编辑:链接是错误的问题]。

x<- 232323
plot(1:10, main = bquote(paste(ARL[1], " curve for ", S^2, "; x=",.(x))))

我的示例4看起来几乎就是最后一个,但行为不一样。 bquoteexpressionsubstitute有很多组合,我看了很多答案,但我可能会遗漏一些非常小的东西。如果用户字符串在这种情况下包含表达式,有关如何获取用户字符串和固定字符串的任何建议吗?感谢。

1 个答案:

答案 0 :(得分:3)

我可以用公式做到:

userTitle <- italic(Genus)~italic(species) 
plot(1, 1., main=substitute( userTitle*": Results" , 
                              list(userTitle=userTitle) ) )

现在有一个表达式:

userTitle <- expression( italic(Genus)~italic(species) )
plot( 1, 1, main= bquote(.(eval(userTitle))*":"~Results) )