写在前面
作为目前最常见的一种可视化手段,热图因其丰富的色彩变化和生动饱满的信息表达被广泛应用于各种大数据分析场景。
ComplexHeatmap
包提供了一种高度灵活的方式来安排多个热图,并支持自定义的注释图形。所以,开个新坑,慢更ComplexHeatmap使用指南。如果觉得更新太慢可以直接看原教程,链接放文末。
ComplexHeatmap使用指南
1.简介
复杂的热图可以有效地可视化不同数据源之间的关联,并揭示潜在的模式。ComplexHeatmap
包提供了一种高度灵活的方式来安排多个热图,并支持自定义的注释图形。
1.1 总体设计
单个热图由热图体和热图组件组成。可以按行和列分割热图主体。热图组件包括标题、树状图、矩阵名称和热图注释,它们被放置在heatmap
主体的四边。热图组件根据热图主体重新排序或拆分。
ComplexHeatmap
包是以面向对象的方式实现的。为了描述热图列表,有以下类:
-
Heatmap
class: 单个热图,包含热图主体、行/列名称、标题、树状图和行/列注释。 -
HeatmapList
class: 热图和热图注释的列表。 -
HeatmapAnnotation
class: 定义行注释和列注释的列表。热图标注可以是热图的组成部分,也可以像热图一样独立存在。
还有几个内部类:
-
SingleAnnotation
class: 定义单行注释或单列注释。HeatmapAnnotation
对象包含一个SingleAnnotation
对象列. -
ColorMapping
class: 从值映射到颜色。主矩阵和注释的颜色映射由ColorMapping
类控制。 -
AnnotationFunction
class: 构造用户定义的注释。这是创建用户定义注释图形的基础。
1.2 接下来的章节简介
介绍单个热图的配置
介绍了热图标注的概念,并演示了如何进行简单标注和复杂标注。此外,本章还解释了列注释和行注释之间的区别。
介绍如何连接热图列表和注释,以及如何应用调整来保持热图的对应关系。
介绍如何配置热图图例和标注图例,以及如何创建自定义图例。
介绍在热图生成后,在热图中添加更多自定义图形的方法。
介绍如何制作oncoPrints
以及如何集成从ComplexHeatmap
到oncoPrints
的其他功能。
介绍述如何制作增强的 Upset plots
.
介绍在ComplexHeatmap
中实现的用于特定用途的函数,例如可视化分发版。
介绍其他包是如何与ComplexHeatmap
集成的。目前,作者演示了gridtext
和pheatmap
这两个包。
介绍述如何使热图具有交互性。
演示更多模拟和真实世界的例子。
参考资料
- https://github.com/jokergoo/ComplexHeatmap
- https://jokergoo.github.io/ComplexHeatmap-reference/book/index.html
往期内容: