我试图在下图中强调平均值:
dummy <- c(4, 9, 6, 5, 3)
barplot(dummy)
text(4, 8,paste('Average value', mean(dummy)))
我尝试使用underline()
,但它说无法找到该功能。
text(4, 8,paste('Average value', underline(mean(dummy))))
错误:
could not find function "underline"
我正在使用:R版本3.1.0
答案 0 :(得分:10)
像这样:
text(4, 8, bquote("Average value"~underline(.(mean(dummy)))))
或者如果你想要整个文字加下划线:
text(4, 8, bquote(underline("Average value"~.(mean(dummy)))))
注意使用bquote
和.(x)
在表达式中插入变量的值。
答案 1 :(得分:3)
我无法访问@EddieSanders提供的链接,但我认为此链接可能是相同的解决方案:http://tolstoy.newcastle.edu.au/R/help/02a/0471.html
underlined <- function(x, y, label, ...){
text(x, y, label, ...)
sw <- strwidth(label)
sh <- strheight(label)
lines(x + c(-sw/2, sw/2), rep(y - 1.5*sh/2, 2))
}
dummy <- c(4, 9, 6, 5, 3)
barplot(dummy)
text(4, 8, underlined(4,8,paste('Average value', mean(dummy))), font=2)
修改强>
这将仅为平均值加下划线:
underlined <- function(x, y, label, ...){
text(x, y, label, ...)
sw <- strwidth(label)
sh <- strheight(label)
lines(x + c(-sw/2, sw/2), rep(y - 1.5*sh/2, 2))
}
dummy <- c(4, 9, 6, 5, 3)
barplot(dummy)
text(4, 8, paste('Average value', underlined(4.9,8,mean(dummy))))