BioF3 FigCode · SCI 绘图代码集
KEGG 气泡(KEGG Dotplot)
分类:功能富集 | 依赖包:ggplot2
解决的生物学问题
差异基因主要参与哪些 KEGG 信号通路?哪些通路的富集最为显著?
应用场景
- KEGG 通路富集结果展示
- 信号通路优先级排序
- 多组对比通路差异
- 筛选后续实验验证通路
输入数据格式
enrichKEGG 结果对象
关键参数
- showCategory 展示通路数(15-20)
- organism KEGG 物种代码(hsa)
- pvalueCutoff 阈值
- x 轴变量(GeneRatio / Count)
- color 着色变量(p.adjust / qvalue)
快速开始
1. 直接在线运行
打开 FigCode 在线绘图,点击本工具卡片的"在线绘图"按钮即可用内置示例数据出图,零环境配置。
2. 本地复现
下载脚本和示例数据,本地 RStudio 运行:
# 下载
curl -O https://<your-site>/figcode/scripts/kegg-dotplot.R
curl -O https://<your-site>/figcode/data/kegg-dotplot.csv
3. 安装依赖
# CRAN 包
install.packages(c("ggplot2"))
# Bioconductor 包(如需)
# BiocManager::install(c())
完整代码
library(ggplot2)
# --- Demo data ---
set.seed(42)
kegg_terms <- c("PI3K-Akt signaling", "MAPK signaling", "Cell cycle",
"p53 signaling", "Apoptosis", "TNF signaling",
"NF-kappa B signaling", "Wnt signaling", "mTOR signaling",
"Jak-STAT signaling", "HIF-1 signaling", "FoxO signaling")
kegg_df <- data.frame(
Description = kegg_terms,
GeneRatio = runif(12, 0.04, 0.2),
p.adjust = sort(runif(12, 0.001, 0.045)),
Count = sample(8:45, 12)
)
# --- Plot ---
ggplot(kegg_df, aes(x = GeneRatio, y = reorder(Description, GeneRatio))) +
geom_point(aes(size = Count, color = p.adjust)) +
scale_color_gradient(low = "#dc2626", high = "#2563eb") +
scale_size_continuous(range = c(3, 10)) +
labs(x = "Gene Ratio", y = NULL, title = "KEGG Pathway Enrichment",
color = "p.adjust", size = "Count") +
theme_classic() +
theme(axis.text.y = element_text(size = 9))
替换为自己的数据
脚本中以 # --- Demo data --- 标注的段落是示例数据生成代码。替换为自己的数据时,保持列名一致即可:
- 输入格式:enrichKEGG 结果对象
- 使用
read.csv()/readRDS()读取本地文件
延伸阅读
- 相关教程:KEGG 气泡 完整流程
- 出现 bug?欢迎在 FigCode 页面 点击对应卡片,在评论区留言。