这几乎就是我想要的情节标题:
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)
Error: unexpected SPECIAL in
即使 * 分隔符在 bquote 的其他部分也有效。我可以通过包含大约值来获得正确的间距。直接等号
mtext(bquote("("*.(letters[i])*")"~.(ylabs[i])~"("*"≈"~italic("H'")*")"),side=3)
但我想知道是否有办法让 * 在绘图符号之前工作?
我尝试使用表达式而不是 bquote,但无法将字符与索引对象组合起来。
最佳答案
诀窍是将整个文本放入下标:
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)
关于r bquote : remove the space before approximately equal plotmath symbol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43696101/