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

求助:如何用R绘制含抖动效果的无Y变量年龄分布散点图

在R中实现带Y轴抖动的年龄分布散点图

这种图的核心是给无实际意义的Y轴添加随机抖动,避免同年龄的点重叠,下面提供两种常用实现方式:

基础R实现

先构造示例年龄数据,再用jitter()函数给Y轴的固定值添加随机偏移:

# 生成示例年龄数据(18-80岁,200个样本)
age <- sample(18:80, 200, replace = TRUE)

# 绘制抖动散点图
plot(jitter(rep(0, length(age)), amount = 0.2), age, 
     ylab = "年龄", xlab = "", 
     xaxt = "n", pch = 16, col = "#2c3e5080")
# 隐藏X轴刻度(因为X轴无实际意义)
axis(1, at = 0, labels = "")
title(main = "年龄分布散点图")
  • amount = 0.2:控制Y轴抖动幅度,可根据样本量调整,数值越大点分散得越开
  • pch = 16:设置点为实心圆,col参数加透明度(末尾的80)避免点重叠后看不清

ggplot2实现

用ggplot2的geom_jitter()更灵活,还能快速美化图表:

library(ggplot2)

# 构造数据框
df <- data.frame(age = sample(18:80, 200, replace = TRUE))

ggplot(df, aes(x = age, y = 1)) +
  geom_jitter(width = 0, height = 0.2, color = "#2c3e5080", size = 2) +
  theme_minimal() +
  # 隐藏Y轴所有无意义元素
  theme(axis.title.y = element_blank(),
        axis.text.y = element_blank(),
        axis.ticks.y = element_blank(),
        panel.grid = element_blank()) +
  labs(x = "年龄", title = "年龄分布散点图")
  • width = 0:禁止X轴抖动,保留年龄的准确位置
  • height = 0.2:控制Y轴抖动幅度,按需调整即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:39:17