在来自vector元素的字符串上使用mtext粗体

时间:2015-10-15 00:08:53

标签: r plot

我已经学会了使用mtext()expression()和paste()将粗体应用于绘图标题中使用的部分文本。如果您直接指定字符串,这非常有用。但是,在我正在进行的项目中,需要通过调用向量元素来获取要加粗的文本部分。但是,调用语法中所需的字符由expression()解释,并且调用失败。

junk <- c("I'm Special", "You're Special")
plot(0, type="n")
mtext(expression(paste("Do you think ", bold(junk[1]),"today?")),3,2)
mtext(expression(paste("I think ", bold(junk[2]), "today.")),3,1)

有关如何处理此问题的任何想法?我试图避免直接指定粗体文本。

1 个答案:

答案 0 :(得分:2)

bquote有一个不错的界面。您只需用.()包围要替换的变量即可。您也可以将substituteexpression一起使用。

junk <- c("I'm Special", "You're Special")
plot(0, type="n")
mtext(bquote(paste("Do you think ", bold(.(junk[1])),"today?")),3,2)
mtext(bquote(paste("I think ", bold(.(junk[2])), "today.")),3,1)