BioF3 FigCode · SCI 绘图代码集

拟时序 UMAP(Pseudotime UMAP)

导出日期:2026年6月27日

分类:降维可视化 | 依赖包:ggplot2

解决的生物学问题

细胞沿分化轨迹的排列顺序如何?哪些细胞处于分化早期或晚期?

应用场景

输入数据格式

Monocle3 cds 对象(已 learn_graph + order_cells)

关键参数

快速开始

1. 直接在线运行

打开 FigCode 在线绘图,点击本工具卡片的"在线绘图"按钮即可用内置示例数据出图,零环境配置。

2. 本地复现

下载脚本和示例数据,本地 RStudio 运行:

# 下载
curl -O https://<your-site>/figcode/scripts/pseudotime.R
curl -O https://<your-site>/figcode/data/pseudotime.csv

3. 安装依赖

# CRAN 包
install.packages(c("ggplot2"))

# Bioconductor 包(如需)
# BiocManager::install(c())

完整代码

library(ggplot2)

# --- Demo: simulate pseudotime on UMAP ---
set.seed(42)
n <- 600
# Create a curved trajectory
t <- seq(0, 2*pi*0.7, length.out = n)
umap1 <- t * cos(t/2) + rnorm(n, 0, 0.4)
umap2 <- t * sin(t/2) + rnorm(n, 0, 0.4)
pseudotime <- seq(0, 1, length.out = n) + rnorm(n, 0, 0.02)
pseudotime <- pmin(pmax(pseudotime, 0), 1)

df <- data.frame(UMAP1 = umap1, UMAP2 = umap2, pseudotime = pseudotime)

# --- Plot ---
ggplot(df, aes(x = UMAP1, y = UMAP2, color = pseudotime)) +
  geom_point(size = 0.8, alpha = 0.8) +
  scale_color_viridis_c(option = "inferno") +
  labs(title = "Pseudotime Trajectory", color = "Pseudotime",
       x = "UMAP 1", y = "UMAP 2") +
  theme_void() +
  theme(legend.position = "right")

替换为自己的数据

脚本中以 # --- Demo data --- 标注的段落是示例数据生成代码。替换为自己的数据时,保持列名一致即可:

延伸阅读