引言Introduction

生信火山图绘制是差异分析里最常用的一步,但很多人卡在“图太乱、标签重叠、重点基因不突出”。对医学生、医生和科研人员来说,问题不只是会画图,而是如何让火山图既准确又可发表
一张典型生信火山图示意图,左右两侧分别标出上调和下调基因,重点基因用标签突出,背景干净,适合论文风格

1. 火山图为什么是差异分析的核心图形

1.1 火山图展示的不是“单个点”,而是整体差异结构

火山图本质上是散点图。横坐标通常是 log2FoldChange ,纵坐标通常是 -log10(P value) 或 ** -log10(adjusted P value)**。
它的价值在于,能同时看到基因变化幅度和统计显著性。

差异越大、显著性越强的基因,通常越靠近图的两侧和上方。
这也是为什么火山图在转录组、芯片和其他组学差异分析中几乎是标配。

1.2 适合火山图的场景

生信火山图绘制常用于以下分析结果展示:

  • RNA-seq 差异表达分析
  • 芯片差异分析
  • 肿瘤与正常组织比较
  • 处理组与对照组比较
  • 多组学筛选后的候选基因展示

如果你的目标是快速告诉读者,哪些基因上调、哪些基因下调、哪些最值得关注,火山图通常比表格更直观。

1.3 发表级火山图的关键,不是点多,而是信息清晰

很多初学者会把所有基因都标上去,结果图面极度拥挤。
真正高质量的火山图,往往只标注少量关键基因。

图的任务是传递结论,不是堆积数据。
因此,生信火山图绘制时,标注策略比“把所有基因显示出来”更重要。

2. 火山图绘制前的数据准备

2.1 先整理出标准列

在正式作图前,数据最好至少包含以下信息:

  1. 基因名称或 symbol
  2. log2FoldChange
  3. P value 或校正后的 P value
  4. 基因上下调方向

如果你用的是 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 绘制点图,再叠加分组颜色、阈值线和标签。

常见步骤包括:

  1. 计算 -log10(P value)
  2. 定义上调、下调、非显著分组
  3. 绘制散点
  4. 添加横线和竖线
  5. 标注重点基因

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 结尾前的实用建议

如果你现在正在准备差异分析结果,建议优先完成三件事:

  1. 统一基因命名和列名
  2. 先筛选少量关键基因再标注
  3. 反复检查阈值和分类是否一致

把基础打牢,火山图自然会更专业。

总结Conclusion

生信火山图绘制的核心,不只是展示差异基因,而是用清晰的视觉语言讲明白“谁变了,变了多少,是否显著”。
真正高质量的差异基因标注,应该遵循少而精、位置合理、阈值明确、图例简洁的原则。

如果你希望更快完成规范化绘图,并把结果直接用于论文写作,可以结合解螺旋品牌 的工具与流程支持,让差异分析和可视化更高效、更稳定。

解螺旋科研助手企业微信二维码,扫码添加免费领取科研资料礼包,包含AI科研提效、SCI投稿技巧、国自然基金、医学科研绘图、科研软件工具等实用资料