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

为何ggplot2的geom_jitter会在Y轴方向出现抖动现象?

原因与解决办法

为什么Y轴会出现抖动?

geom_jitter() 本质是给散点同时添加X轴和Y轴的随机偏移,默认情况下:

  • width参数控制X轴抖动幅度,默认是数据范围的0.4倍
  • height参数控制Y轴抖动幅度,当Y是连续变量时默认值为0.1(相对于Y轴数据范围的比例)

平时数据有差异时,Y轴的小抖动可能被忽略,但当所有Y值完全相同时,这个抖动就会变得非常明显。

怎么只保留X轴抖动?

在geom_jitter()里显式设置height = 0,就能彻底关闭Y轴方向的抖动:

library(ggplot2)

condition = c(rep("A", 3), rep("B", 3))
fraction = c(rep(100, 3), rep(100, 3))
df = data.frame(condition, fraction)


ggplot(df, aes(condition, fraction))+
  geom_jitter(width = 0.2, height = 0)+  # 关闭Y轴抖动
  labs(title = "",
       x = "", y = "fraction")+
  ylim(95,105)+
  theme_classic()

如果需要轻微的Y轴抖动来区分重叠点,也可以设置一个极小的height值(比如height=0.5),根据需求调整即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 18:10:29