引言Introduction
生信火山图绘制是差异分析里最常用的一步,但很多人卡在“图太乱、标签重叠、重点基因不突出”。对医学生、医生和科研人员来说,问题不只是会画图,而是如何让火山图既准确又可发表 。

1. 火山图为什么是差异分析的核心图形
1.1 火山图展示的不是“单个点”,而是整体差异结构
火山图本质上是散点图。横坐标通常是 log2FoldChange ,纵坐标通常是 -log10(P value) 或 ** -log10(adjusted P value)**。
它的价值在于,能同时看到基因变化幅度和统计显著性。
差异越大、显著性越强的基因,通常越靠近图的两侧和上方。
这也是为什么火山图在转录组、芯片和其他组学差异分析中几乎是标配。
1.2 适合火山图的场景
生信火山图绘制常用于以下分析结果展示:
- RNA-seq 差异表达分析
- 芯片差异分析
- 肿瘤与正常组织比较
- 处理组与对照组比较
- 多组学筛选后的候选基因展示
如果你的目标是快速告诉读者,哪些基因上调、哪些基因下调、哪些最值得关注,火山图通常比表格更直观。
1.3 发表级火山图的关键,不是点多,而是信息清晰
很多初学者会把所有基因都标上去,结果图面极度拥挤。
真正高质量的火山图,往往只标注少量关键基因。
图的任务是传递结论,不是堆积数据。
因此,生信火山图绘制时,标注策略比“把所有基因显示出来”更重要。
2. 火山图绘制前的数据准备
2.1 先整理出标准列
在正式作图前,数据最好至少包含以下信息:
- 基因名称或 symbol
- log2FoldChange
- P value 或校正后的 P value
- 基因上下调方向
如果你用的是 DESeq2、limma 或其他差异分析结果,先把结果整理成表格,再进入作图步骤。
数据清洗是生信火山图绘制能否成功的第一步。
如果列名混乱、缺失值多、基因命名不统一,后续标注会非常麻烦。
2.2 常见阈值要提前定好
根据上游知识库,实际分析中常见的筛选标准包括:
- P value < 0.05,log2FC 绝对值 > 0.5
- 或 adj.P.Val < 0.001,log2FC 绝对值 > 2
不同研究可根据课题背景调整阈值。
但要注意,阈值一旦确定,全文必须保持一致。
2.3 先分组,再标注
火山图中的基因通常先分成三类:
- 上调基因
- 下调基因
- 不显著基因
这一分类不仅用于上色,也用于后续标签筛选。
先分类,后标注,图会清楚很多。
3. 差异基因标注技巧
3.1 只标注最有代表性的基因
生信火山图绘制时,最常见的错误是“所有显著基因都标注”。
这样会导致标签重叠,阅读成本大幅上升。
更合理的做法是:
- 上调基因取前 5 个
- 下调基因取前 5 个
- 或按 P value 排序,选最显著的少数基因
少而精的标注,通常比大而全更适合论文图。
3.2 标签筛选可以按两个维度进行
常见筛选逻辑有两种:
按变化幅度筛选
选择 log2FC 绝对值最大的基因。
这类基因变化直观,适合展示“最强差异”。
按显著性筛选
选择 P value 最小的基因。
这类基因统计学说服力更强,适合展示“最可靠差异”。
实际写作中,可以结合这两种标准 。
例如,优先选择同时满足高差异和高显著性的基因。
3.3 标签位置要避开密集区域
如果标签全部挤在图中央,阅读体验会很差。
通常建议:
- 选择分布在左右两端的基因
- 避开点最密集的区域
- 让标签沿着图边缘展开
这样能减少遮挡,提高可读性。
这也是发表级生信火山图绘制的常用技巧。
3.4 标签颜色和连线要统一
标注基因时,建议保持以下原则:
- 上调基因用一种颜色
- 下调基因用另一种颜色
- 标签文字颜色与点颜色对应
- 必要时加细连线,增强识别度
颜色一致,读者就能更快理解图意。
如果颜色过多,反而会削弱重点。
4. 常用作图思路与实现逻辑
4.1 ggplot2 适合高度定制
根据上游知识库,火山图可以用 ggplot2 构建。
它的核心就是基于 geom_point 绘制点图,再叠加分组颜色、阈值线和标签。
常见步骤包括:
- 计算 -log10(P value)
- 定义上调、下调、非显著分组
- 绘制散点
- 添加横线和竖线
- 标注重点基因
ggplot2 的优势是灵活,适合论文级美化。
4.2 ggpubr 适合快速出图
ggpubr 也常被用于火山图绘制。
它在基础图形之上,能够较方便地增加阈值线、图例和标签。
如果你的目标是快速完成一张结构清晰的图,ggpubr 是不错的选择。
如果你需要高度自定义版式和颜色,ggplot2 更合适。
4.3 在线工具也能用,但要注意格式
上游知识库提到,在线工具如 GEPIA2、Magpie 也可以用于差异分析和火山图绘制。
它们的优点是上手快,适合快速验证结果。
但要注意:
- 输入格式必须规范
- 列名要清晰
- logFC 和 P value 要对应准确
- 结果导出后仍要检查标注是否完整
在线工具适合初稿,R 语言更适合精修。
5. 让火山图更适合论文发表的细节
5.1 阈值线要明确
论文图里最好把阈值线画清楚。
一般包括:
- 一条横线,代表显著性阈值
- 两条竖线,代表 log2FC 阈值
这样读者一眼就能判断基因是否进入显著区。
阈值线是火山图的“判定边界”。
5.2 图例要简洁
图例不宜太复杂。
建议只保留三类:
- up
- down
- NS
如果再加更多类别,图会变乱。
对于绝大多数生信火山图绘制场景,三分类已经足够。
5.3 标题和坐标轴要标准化
建议标题直接说明研究对象。
比如“差异表达基因火山图”或“肝癌差异基因火山图”。
坐标轴建议清晰写出:
- x轴:log2FoldChange
- y轴:-log10(P value) 或 -log10(adj.P.Val)
坐标命名规范,是科研图最基本的专业性。
6. 文章中的火山图,应该怎么写结果描述
6.1 描述要围绕筛选标准
在论文或报告中,建议按以下逻辑描述:
- 使用什么数据
- 采用什么差异分析方法
- 设定什么阈值
- 共筛出多少个差异基因
- 如何标注重点基因
这种写法更符合 E-E-A-T 原则,也更容易被审稿人接受。
6.2 不要只说“结果显著”
更好的表达是:
- “根据 log2FC 和校正后的 P value 筛选差异基因”
- “上调与下调基因分别着色展示”
- “对最具代表性的基因进行标注”
- “火山图直观展示了差异基因的分布特征”
结果描述要具体,不能只停留在“图很漂亮”。
6.3 标注基因最好与后续分析衔接
如果你后面还要做:
- Venn 交集
- 热图
- 富集分析
- PPI 网络
- ROC 分析
那么火山图中标注的基因最好与后续核心基因保持逻辑一致。
这样整篇文章的叙事会更完整。
7. 使用解螺旋产品的实际价值
7.1 适合想快速做出规范图的人
对于刚开始做生信分析的医学生、医生和科研人员来说,火山图最难的通常不是“画出来”,而是“画得规范”。
如果前期数据整理、分组、标注、配色、阈值设置都要自己反复试,效率会很低。
解螺旋相关产品可以帮助你把这类流程标准化。
你能更快完成差异基因筛选、标注和可视化输出。
7.2 适合需要论文级结果的人
解螺旋的优势在于把复杂流程尽量变成可执行步骤。
对于生信火山图绘制来说,这意味着你可以更专注于:
- 结果是否合理
- 标签是否清晰
- 图面是否适合投稿
- 结论是否能和全文逻辑衔接
这比单纯追求“会用软件”更重要。
真正有价值的是把图做成可发表的证据。
7.3 结尾前的实用建议
如果你现在正在准备差异分析结果,建议优先完成三件事:
- 统一基因命名和列名
- 先筛选少量关键基因再标注
- 反复检查阈值和分类是否一致
把基础打牢,火山图自然会更专业。
总结Conclusion
生信火山图绘制的核心,不只是展示差异基因,而是用清晰的视觉语言讲明白“谁变了,变了多少,是否显著”。
真正高质量的差异基因标注,应该遵循少而精、位置合理、阈值明确、图例简洁的原则。
如果你希望更快完成规范化绘图,并把结果直接用于论文写作,可以结合解螺旋品牌 的工具与流程支持,让差异分析和可视化更高效、更稳定。

- 引言Introduction
- 1. 火山图为什么是差异分析的核心图形
- 2. 火山图绘制前的数据准备
- 3. 差异基因标注技巧
- 4. 常用作图思路与实现逻辑
- 5. 让火山图更适合论文发表的细节
- 6. 文章中的火山图,应该怎么写结果描述
- 7. 使用解螺旋产品的实际价值
- 总结Conclusion






