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

如何在同一张ggplot中绘制两个人员的相同变量并实现分组分色

第一步:给数据集添加人员分组标识

因为你说明高值数据属于Ben、低值属于Pete,我们可以用数值阈值给数据打标签,后续新增数据也会自动识别分组:

library(dplyr)
Jump_tibble <- Jump_tibble %>%
  # 阈值可根据你实际数据分布调整,当前适配你3.5-3.8的y轴范围
  mutate(person = ifelse(daily_max_vel > 3.65, "Ben", "Pete"))

如果你的原始表中已经有标注人员的列,直接使用该列即可,不需要额外新增。

第二步:修改ggplot绘图代码

核心是把颜色映射到人员列,同时按人员分组连线,避免跨人连通:

library(ggplot2)
Jump_vel_tracking <- ggplot(Jump_tibble, aes(x = date, y = daily_max_vel, color = person)) +
  geom_point(size = 2) + 
  # 按人员分组,只会给同一个人的数据点连线
  geom_line(aes(group = person)) +
  # 自定义两个人的展示颜色,可自行调整色值
  scale_color_manual(values = c("Ben" = "red3", "Pete" = "steelblue")) +
  scale_y_continuous(breaks = seq(from = 3.5, to = 3.8, by = 0.1), limits = c(3.5, 3.8)) +
  labs(x = '日期', y = '峰值速度 (m/s)', title = "CMJ峰值速度跟踪", color = "人员")

注意事项

原代码里的x = date()写法有误,date()是R的系统函数,会返回当前日期,直接写你的数据里的日期列名date即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:54:02