BioF3 FigCode · SCI 绘图代码集
免疫平均浸润度(Immune Mean Lollipop)
分类:分布可视化 | 依赖包:ggplot2
解决的生物学问题
这个队列的免疫主旋律是什么?哪种免疫细胞最主导?
应用场景
- 展示队列整体免疫格局
- 对比不同癌种的免疫主旋律
- Cohort summary figure
- 排序后做选择性后续分析
输入数据格式
矩阵:行=免疫细胞,列=样本,值=ssGSEA score
关键参数
- rowMeans 计算平均
- sort 按浸润度排序
- geom_segment + geom_point 组合
快速开始
1. 直接在线运行
打开 FigCode 在线绘图,点击本工具卡片的"在线绘图"按钮即可用内置示例数据出图,零环境配置。
2. 本地复现
下载脚本和示例数据,本地 RStudio 运行:
# 下载
curl -O https://<your-site>/figcode/scripts/immune-lollipop.R
curl -O https://<your-site>/figcode/data/immune-lollipop.csv
3. 安装依赖
# CRAN 包
install.packages(c("ggplot2"))
# Bioconductor 包(如需)
# BiocManager::install(c())
完整代码
library(ggplot2)
# --- Demo data ---
set.seed(42)
cells <- c('CD8 T','CD4 T','Treg','B','NK','Macrophages','DC','Neutrophils','Mast','Tfh','Th1','Th17')
scores <- runif(length(cells), 0, 1)
names(scores) <- cells
scores <- sort(scores, decreasing = TRUE)
df <- data.frame(CellType = factor(names(scores), levels = rev(names(scores))), MeanScore = scores)
ggplot(df, aes(x = MeanScore, y = CellType)) +
geom_segment(aes(x = 0, xend = MeanScore, y = CellType, yend = CellType), color = '#dfe8e3', linewidth = 0.8) +
geom_point(size = 3, color = '#2e8555') +
labs(x = 'Mean ssGSEA Score', y = NULL, title = 'Immune Cell Infiltration Level') +
theme_classic() +
theme(plot.title = element_text(size = 13, face = 'bold'))
替换为自己的数据
脚本中以 # --- Demo data --- 标注的段落是示例数据生成代码。替换为自己的数据时,保持列名一致即可:
- 输入格式:矩阵:行=免疫细胞,列=样本,值=ssGSEA score
- 使用
read.csv()/readRDS()读取本地文件
延伸阅读
- 相关教程:免疫平均浸润度 完整流程
- 出现 bug?欢迎在 FigCode 页面 点击对应卡片,在评论区留言。