这非常接近:
dat <- data.frame(V1 = 1:6, V2 = c(11613, 6517, 2442, 687, 159, 29))
addMyLegend <- function(data, where = "topright", digits = 3, ...) {
MEAN <- round(mean(data), digits = digits)
SD <- round(sd(data), digits = digits)
legend(where, legend = list(bquote(Mean == .(MEAN)),
bquote(SD == .(SD))),
...)
}
plot(dat, type = "h")
addMyLegend(dat$V1, digits = 2, bty = "n")
这使
我不确定为什么 plotmath 代码没有显示==
和排版=
...必须调查一下。
要查看正在发生的事情,请阅读?bquote
它解释说它可以用来用动态数据替换表达式的组件。任何被包裹的东西.( )
都将被表达式包裹部分中命名的对象的值替换。因此foo == .(bar)
将寻找一个名为的对象bar
并将值插入bar
到表达式中。如果bar
包含1.3
,则应用后的结果bquote(foo == .(bar))
将类似于expression(foo == 1.3)
。
如果没有阅读,我的其余功能addMyLegend()
应该是相当不言自明的?legend
。请注意,您可以通过 in 传递legend()
任何...
参数addMyLegend()
。