再会!
我对 R 不太熟悉,所以我很乐意得到一些帮助。
假设我有以下最小示例:
test <- c(10,20,40,80,80)
avg <- mean(test)
avg <- format(avg,digits=2)
plot(test, xlab="x", ylab="y", pch = 4)
legend("topleft", legend= c("Average: ", avg))
我想写 x̄ 而不是“平均” - 想知道这是否可能发生,因为它不是一个常规符号 - 只是两个的组合(字母加上划线)。
我想摆脱的另一件事是“平均”一词后的换行符(见下图中的箭头):
最佳答案
这里有两个问题。首先,这是使用 ?plotmath
处理的。在 R 中。您要查找的运算符是 bar()
.这不是函数而是标记 plotmath
明白。
第二个是你需要一个表达式,其中 avg
转换为它的值。您需要一个表达式,因为这就是 plotmath
与.这个问题有几种解决方案,但我在下面使用的是bquote()
.你为它提供一个表达式和任何包裹在 .( )
中的东西将通过评估 .( )
中的事物来转换其值.
这是您的代码和经过适当修改的 legend()
称呼:
test <- c(10,20,40,80,80)
avg <- mean(test)
avg <- format(avg,digits=2)
plot(test, xlab="x", ylab="y", pch = 4)
legend("topleft", legend = bquote(bar(x)*":" ~ .(avg)))
请注意,这将准确插入
avg
中的内容。 .你可能需要做avg <- round(avg)
或其他一些格式修复,以获得漂亮和可展示的东西。
关于r - 在图例中写 x̄(意思是平均值)以及如何防止换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13344740/