将表达式与指示变量结合用于绘图标签

Use of expression in combination with indicator variable for plot labels

我在一个循环中创建多个图,其中我将不同的标签存储在一个列表中。这很容易用粘贴来完成:

i<-1
plot(1,1)
legend("topright", paste("V = ", i))

但是我也希望有下标,所以我用的是表达式函数:

plot(1,1)
legend("topright", expression("V"[accurate]*" = "))

但是当我尝试结合粘贴和表达式时,我不再returns它所指的值:

plot(1,1)
legend("topright", paste(expression("V"[accurate]*" = "), i))

我尝试了多种不同的方式来写出上面的内容,但我始终无法获得下标并返回“1”。

也许同时使用粘贴和表达式并不是解决此问题的正确方法。

我相信 as.expressionbquote 你可以做到以下几点:

legend("topright", as.expression(bquote("V"[accurate]*" = "*.(i))))

使用 bquote(),包裹在 .( ) 中的任何内容都将替换为命名对象的值。