BioF3 FigCode · SCI 绘图代码集
拟时序 UMAP(Pseudotime UMAP)
分类:降维可视化 | 依赖包:ggplot2
解决的生物学问题
细胞沿分化轨迹的排列顺序如何?哪些细胞处于分化早期或晚期?
应用场景
- 单细胞拟时序分析结果展示
- 细胞分化轨迹可视化
- 发育过程细胞状态转换
- 肿瘤演化轨迹推断
输入数据格式
Monocle3 cds 对象(已 learn_graph + order_cells)
关键参数
- color_cells_by 着色变量(pseudotime)
- trajectory_graph_color 轨迹线颜色
- label_cell_groups 是否标注细胞群
- cell_size 点大小
- root_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 --- 标注的段落是示例数据生成代码。替换为自己的数据时,保持列名一致即可:
- 输入格式:Monocle3 cds 对象(已 learn_graph + order_cells)
- 使用
read.csv()/readRDS()读取本地文件
延伸阅读
- 相关教程:拟时序 UMAP 完整流程
- 出现 bug?欢迎在 FigCode 页面 点击对应卡片,在评论区留言。