You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言绘图:如何将均值数值显示在X轴上而非轴上方?

解决均值标签显示在X轴上的问题

你可以使用axis()函数替代text(),直接在X轴上添加均值的标签,这样就能让数值精准显示在X轴刻度位置,而非X轴上方。

修改后的代码示例

# 定义mu和s的示例值,可替换为你的实际数据
mu <- 40
s <- 10

curve(dnorm(x, mean=mu, sd=s), from=0, to=80, xlab="Horas", ylab="f(x)")
abline(v=mu, col='red', lty=3)
abline(v=mu - s/2, col='blue', lty=3)
abline(v=mu + s/2, col='blue', lty=3)
legend("topright", legend=c("", ""), 
       title=(paste("N(", mu, ", ", s, ")")), 
       title.adj=0, lty=0, lwd=0, box.lty=0)
# 用axis函数在X轴指定位置添加均值标签
axis(1, at=mu, labels=mu, col.axis="red", font=2)
box()

关键说明

  • axis(1, ...):第一个参数1表示操作X轴;
  • at=mu:指定标签要放置的X轴位置;
  • labels=mu:设置要显示的标签内容;
  • 可选参数col.axis和font可以调整标签颜色和字体样式,让均值标签更醒目。

如果想自定义X轴刻度,把均值作为原生刻度之一,可参考以下代码:

mu <- 40
s <- 10
# 自定义包含均值的X轴刻度
custom_ticks <- c(0, mu - s/2, mu, mu + s/2, 80)

curve(dnorm(x, mean=mu, sd=s), from=0, to=80, xlab="Horas", ylab="f(x)", axes=FALSE)
axis(1, at=custom_ticks, labels=custom_ticks)
axis(2)
abline(v=mu, col='red', lty=3)
abline(v=mu - s/2, col='blue', lty=3)
abline(v=mu + s/2, col='blue', lty=3)
legend("topright", legend=c("", ""), 
       title=(paste("N(", mu, ", ", s, ")")), 
       title.adj=0, lty=0, lwd=0, box.lty=0)
box()

内容的提问来源于stack exchange,提问作者Amelia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 15:13:16