1

这几乎是我想要的情节标题:

plot(1:10)
ylabs<-c("All","Native","Exotic")
i=1
mtext(bquote("("*.(letters[i])*")"~.(ylabs[i])~"("%~~%italic("H'")*")"),side=3)

但我不希望“(”之后和近似等号之前的空格。在符号之前添加 * 分隔符会产生错误

mtext(bquote("("*.(letters[i])*")"~.(ylabs[i])~"("*%~~%italic("H'")*")"),side=3)

错误:意外的特殊

即使 * 分隔符适用于 bquote 的其他部分。我可以通过包含大约来获得正确的间距。直接等号

mtext(bquote("("*.(letters[i])*")"~.(ylabs[i])~"("*"≈"~italic("H'")*")"),side=3)

但我想知道是否有办法让 * 在 plotmath 符号之前工作?

我用表达式而不是 bquote 尝试了这个,但无法将字符与索引对象结合起来。

4

1 回答 1

3

诀窍是将整个文本放入下标:

plot(1:10)
ylabs<-c("All","Native","Exotic")
i=1
b <- bquote(phantom(0)["("*.(letters[i])*")"~.(ylabs[i])~"(" %~~%italic("H'")*")"])
mtext(b, cex = 2, side=3) 

截屏

于 2017-04-29T13:35:00.733 回答