BioF3 FigCode · SCI 绘图代码集

集合交集图(UpSet Plot)

导出日期:2026年6月27日

分类:聚类可视化 | 依赖包:UpSetR

解决的生物学问题

不同分析方法 / 不同条件之间的差异基因有多少交集?哪些是各方法独有?

应用场景

输入数据格式

基因集列表(list of vectors)或 0/1 矩阵

关键参数

快速开始

1. 直接在线运行

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

2. 本地复现

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

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

3. 安装依赖

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

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

完整代码

library(UpSetR)

# --- Demo data: gene lists from 4 methods ---
set.seed(42)
all_genes <- paste0("Gene", 1:500)
gene_sets <- list(
  DESeq2 = sample(all_genes, 200),
  edgeR  = sample(all_genes, 220),
  limma  = sample(all_genes, 180),
  NOISeq = sample(all_genes, 160)
)

# --- UpSet plot ---
upset(
  fromList(gene_sets),
  nsets         = 4,
  nintersects   = 15,
  order.by      = "freq",
  decreasing    = TRUE,
  mainbar.y.label = "Intersection size",
  sets.x.label    = "Set size",
  sets.bar.color  = c("#dc2626", "#2563eb", "#059669", "#d97706"),
  matrix.color    = "#0f172a",
  main.bar.color  = "#475569",
  point.size  = 3,
  line.size   = 1,
  text.scale  = c(1.2, 1.1, 1.1, 1, 1.1, 1.1)
)

替换为自己的数据

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

延伸阅读