R连接不同的程式化字符

时间:2016-04-28 20:24:15

标签: r string styles concatenation

我想说出我的情节,例如“ Plot 1 (p = 0.05)”。 请注意,标题为粗体,p值为斜体

我可以在绘制内容后手动完成并执行以下操作:

text(x1, y, "Plot 1", font=2)
text(x2, y, "(p=0.05)", font=3)

然而,计算坐标很麻烦,所以我想做一些像:

title <- (string concatenation here?)
plot(..., main=title)

我没有在这个问题上找到任何帮助,所以在这里留下这个问题。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我建议使用?plotmath表达式来进行格式化而不是font=参数。例如

plot(c(1,3), c(1,3))
text(2,2,expression(bold("Plot 1") ~ (italic("p=.05"))))

结果

bold and italic text

请注意,您不能像绑定字符串一样轻松地paste()表达式。然后人们常常尝试使用引号中的部分变量,但为了做到这一点,您需要使用bquote()substitute()构建表达式。例如

plotname <- "Plot 1"
pvalue <- paste0("p=", formatC(.04944, digits=2, format="f"))
text(2,2,bquote(bold(.(plotname)) ~ (italic(.(pvalue)))))

答案 1 :(得分:0)

这很简单。尝试在main =。

中添加表达式 像这样:

x<- seq(6:1)
y<-c(5,3,77,6,5,1)
main="title", sub="subtitle"
plot(x,y, main=expression(paste(bold("Plot1"), italic("(p=0.05)"))))

enter image description here