Gna*_*ark 4 r legend legend-properties plotmath
美好的一天!
我不熟悉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))
Run Code Online (Sandbox Code Playgroud)
我想写x̄而不是"average" - 想知道这是否可能,因为它不是常规符号 - 只是两个的组合(字母加上线).
我想摆脱的另一件事是"平均"之后的换行符(见下图中的箭头):

这里有两个问题.第一个是?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)))
Run Code Online (Sandbox Code Playgroud)
请注意,这将准确插入内容avg.你可能需要这样做
avg <- round(avg)
Run Code Online (Sandbox Code Playgroud)
或其他一些格式化修复,以获得美观和可呈现的东西.