首先创建一个包含3个表达式的向量,然后使用substitute
创建相应的虚拟值。请注意我正在使用as.expression
使它们不会立即被评估,并使用atop
进行换行。然后在调用legend
时使用该向量:
v <- c(
as.expression(substitute(atop(Qua[0.99]^normal == "", dummy), list(dummy=round(dummy1,4)))),
as.expression(substitute(atop(Qua[0.95]^normal == "", dummy), list(dummy=round(dummy2,4)))),
as.expression(substitute(atop(Qua[0.99]^t == "", dummy), list(dummy=round(dummy3,4))))
)
cols <- c("red","black","darkgreen")
legend("topright", legend=v, bty = "n",lwd=2, cex=1, col=cols, text.col=cols, lty=c(1,3,5))
文字的颜色使用
text.col
来设置。
![enter image description here](https://istack.dev59.com/ZbRhI.webp)
如果您想继续使用
bquote
而不是
substitute
:
v <- c(
as.expression(bquote(atop(Qua[0.99]^normal == "", .(round(dummy1,4))))),
as.expression(bquote(atop(Qua[0.95]^normal == "", .(round(dummy2,4))))),
as.expression(bquote(atop(Qua[0.99]^t == "", .(round(dummy3,4)))))
)
要使normal和0.99加粗,您可以在表达式中使用bold
:
v <- c(
as.expression(substitute(atop(Qua[bold(0.99)]^bold(normal) == "", dummy), list(dummy=round(dummy1,4)))),
as.expression(substitute(atop(Qua[bold(0.95)]^bold(normal) == "", dummy), list(dummy=round(dummy2,4)))),
as.expression(substitute(atop(Qua[bold(0.99)]^bold(t) == "", dummy), list(dummy=round(dummy3,4))))
)
但实际上0.99并不是非常粗体:
![enter image description here](https://istack.dev59.com/c6CPC.webp)
你可以试试用textstyle
来使用正常大小的文本:
v <- c(
as.expression(substitute(atop(Qua[textstyle(0.99)]^textstyle(normal) == "", dummy), list(dummy=round(dummy1,4)))),
as.expression(substitute(atop(Qua[textstyle(0.95)]^textstyle(normal) == "", dummy), list(dummy=round(dummy2,4)))),
as.expression(substitute(atop(Qua[textstyle(0.99)]^textstyle(t) == "", dummy), list(dummy=round(dummy3,4))))
)
并且需要这样做: