r - 在图例中写 x̄(意思是平均值)以及如何防止换行?

标签 r legend plotmath legend-properties

再会!

我对 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̄ 而不是“平均” - 想知道这是否可能发生,因为它不是一个常规符号 - 只是两个的组合(字母加上划线)。

我想摆脱的另一件事是“平均”一词后的换行符(见下图中的箭头):

Output

最佳答案

这里有两个问题。首先,这是使用 ?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/

相关文章:

r - 在 R 代码中显示 Git 版本

r - 在 SparkR 中的 DataFrame 列上使用 substr()

r - 重复 else if 语句的快捷方式

r - 使用ggplot2更改图例

r - 如何在 R 绘图的标题中显示 $\{ X_t\}$

r - 使用 sink() 在 foreach 循环中捕获消息时如何避免 'sink stack is full' 错误

html - 在图例元素中包装标签元素

r - 使用表达式时轴标签中的间距(paste(...))

r bquote : remove the space before approximately equal plotmath symbol

date - Gnuplot,如何在标题或图例中绘制月份?