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

如何绘制多基因在连续发育阶段的表达量组均值平滑曲线?

解决多基因发育阶段表达量平滑曲线绘制问题

问题根源

你之前的代码里,group参数设置错误导致无法生成每个基因的独立平滑曲线:

  • 第二个绘图代码里group = 1会把所有基因合并为同一组,自然只生成一条平滑线
  • 第三个代码里group = Group是按发育阶段分组,每个阶段内的基因各自成组,没法形成跨阶段的曲线

两种可行解决方案

方案1:直接基于原始数据绘图,按Gene分组

只需要把group参数设置为Gene,同时让ggplot正确识别x轴的顺序(你的Group是因子类型),这样每个基因会生成独立的平滑曲线:

exp %>%
  ggplot(aes(x = Group, y = Expression, color = Gene, group = Gene)) +
  geom_point(alpha = 0.3) +  # 加点透明度避免点重叠
  geom_smooth(method = "loess", se = FALSE) +  # se=FALSE可去掉置信区间,按需选择
  theme_bw()

方案2:先计算组均值再绘图(更贴合“连接组均值”的需求)

如果核心需求是连接每个基因在各阶段的表达量均值,提前计算均值再绘图会更精准:

# 计算每个基因每个阶段的表达量均值
exp_mean <- exp %>%
  group_by(Gene, Group) %>%
  summarise(Mean_Expression = mean(Expression), .groups = "drop")

# 绘制均值的平滑曲线
exp_mean %>%
  ggplot(aes(x = Group, y = Mean_Expression, color = Gene, group = Gene)) +
  geom_point(size = 3) +  # 绘制均值点
  geom_smooth(method = "loess", se = FALSE) +
  theme_bw()

补充说明

  • method = "loess"是ggplot默认的平滑方法,适合小样本(你这里5个阶段),如果需要线性拟合可以改成method = "lm"
  • 可以通过scale_color_manual()自定义每个基因的颜色,让图更清晰
  • 如果想保留置信区间,去掉se = FALSE即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 05:12:31