BioF3 FigCode · SCI 绘图代码集
通讯弦图(Chord Diagram)
分类:网络与互作 | 依赖包:circlize
解决的生物学问题
不同细胞类型之间通过哪些信号通路进行通讯?通讯强度如何分布?
应用场景
- 细胞间通讯全景展示
- 特定信号通路的通讯网络
- 不同条件下通讯变化对比
- 配体-受体互作强度排序
输入数据格式
CellChat 对象(已 computeCommunProb)
关键参数
- signaling 目标信号通路
- sources.use 发送细胞类型
- targets.use 接收细胞类型
- slot 通讯概率类型(net / netP)
- color.use 细胞类型配色
快速开始
1. 直接在线运行
打开 FigCode 在线绘图,点击本工具卡片的"在线绘图"按钮即可用内置示例数据出图,零环境配置。
2. 本地复现
下载脚本和示例数据,本地 RStudio 运行:
# 下载
curl -O https://<your-site>/figcode/scripts/chord-plot.R
curl -O https://<your-site>/figcode/data/chord-plot.csv
3. 安装依赖
# CRAN 包
install.packages(c("circlize"))
# Bioconductor 包(如需)
# BiocManager::install(c())
完整代码
library(circlize)
# --- Demo: simulate cell-cell communication ---
set.seed(42)
cell_types <- c("T cells", "B cells", "Macrophages", "Fibroblasts", "Epithelial")
n <- length(cell_types)
# Create interaction matrix
mat <- matrix(sample(0:20, n*n, replace = TRUE), nrow = n,
dimnames = list(cell_types, cell_types))
diag(mat) <- sample(0:5, n, replace = TRUE)
colors <- c("#dc2626", "#2563eb", "#059669", "#d97706", "#7c3aed")
names(colors) <- cell_types
# --- Plot ---
circos.clear()
chordDiagram(mat, grid.col = colors, transparency = 0.3,
annotationTrack = c("grid", "name"),
preAllocateTracks = list(track.height = 0.05))
title("Cell-Cell Communication Network")
替换为自己的数据
脚本中以 # --- Demo data --- 标注的段落是示例数据生成代码。替换为自己的数据时,保持列名一致即可:
- 输入格式:CellChat 对象(已 computeCommunProb)
- 使用
read.csv()/readRDS()读取本地文件
延伸阅读
- 相关教程:通讯弦图 完整流程
- 出现 bug?欢迎在 FigCode 页面 点击对应卡片,在评论区留言。