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

ggplot中如何将stat_summary生成的样本量文本置于y=0位置?

解决方案

你只需要将样本量标签的y轴位置固定为0即可,以下是两种实现方式:

方式一:修改自定义函数

直接把原代码中give.n函数返回的y值从mean(x)改为0,就能让文本定位到y=0处:

give.n <- function(x){
  return(c(y = 0, label = length(x)))
}
ggplot(diamonds, aes(cut, price)) + 
  geom_boxplot() + 
  stat_summary(fun.data = give.n, geom = "text", vjust = 0.5)

vjust = 0.5用于调整文本的垂直偏移,避免和坐标轴标签重叠,你可以根据显示效果调整这个参数值。

方式二:简化写法(无需自定义函数)

直接在stat_summary中指定y轴位置,并通过fun = length直接计算样本量,代码更简洁:

ggplot(diamonds, aes(cut, price)) + 
  geom_boxplot() + 
  stat_summary(
    fun = length,
    geom = "text",
    aes(y = 0),
    vjust = 0.5
  )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 17:07:43