pythonic生物人

顶刊Cluster Heatmap,换数据即可用!

本期主角-Cluster Heatmap。


简单Cluster Heatmap

通过R pheatmap实现简单Cluster Heatmap,非常简单,

## 17.1_01
# 未经过允许禁止转载!
# @Author  :  公众号:pythonic生物人
# @Desc    :  17.1 简单Cluster heatmap

# 🔸绘制热图
pheatmap(gene_data)
Image

上面这张Cluster Heatmap怎么读了?

Cluster Heatmap利用聚类算法对图中的行和列进行重新排序,将相似的数据点或变量聚集在一起,在行列边界区域添加了聚类的谱系图。通过Cluster Heatmap,既可以观察数据矩阵的分布情况,也可以分析聚类结果。

下图为一张典型的Cluster Heatmap,每部分的含义如图所示。

Image

定制Cluster Heatmap

当然,上面这个默认设置丑陋无比,我们可以在上一节的基础上个性化图中数值、轴文本等,使其符合自己审美(迎合期刊、导师、审稿人的审美)。

## 17.2_01
# 未经过允许禁止转载!
# @Author  :  公众号:pythonic生物人
# @Desc    :  17.2 个性化Cluster heatmap(数值、聚类树、文本)

pheatmap(
  gene_data, # 数据矩阵
# 🔸标准化设置
  scale = "row", # 按行标准化(可选,突出基因间的相对差异)
# 🔸聚类设置
  cluster_rows = TRUE, # 对基因(行)进行聚类
  cluster_cols = TRUE, # 对样本(列)进行聚类
  clustering_distance_rows = "euclidean", # 行聚类距离:欧几里得距离
  clustering_distance_cols = "euclidean", # 列聚类距离:欧几里得距离
  clustering_method = "ward.D2", # 聚类算法:Ward's minimum variance
  treeheight_row = 50, # 行聚类树高度
  treeheight_col = 30, # 列聚类树高度
  cutree_rows = 3, # 将行聚类树切割为 3 组
  cutree_cols = 3, # 将列聚类树切割为 2 组
# 🔸轴文本设置
  main = "Gene Expression Heatmap", # 添加标题
  fontsize = 10, # 标题大小设置
# 🔸颜色设置
  border_color = "grey60", # 设置单元格边框颜色
# 🔸图中文本设置
  display_numbers = TRUE,
  number_format = "%.2f"
)

从以下六个方面进行了个性化定制:

  • 行列标准化
  • 聚类算法
  • xy轴、图例文本
  • 配色
  • 图中文本属性

效果是明显的,

Image

换成自己钟爱❤️的配色,

Image

数据

使用“1.4.9 gene数据集”,

Image

用cor方法简单计算一下相关性。

本期结束!


-推荐阅读-

分享一份原创《👉保姆级R可视化教程》,28个章节,11w字,数百张图,旨在引导如何系统学习R语言可视化。
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片

图片

图片
图片
图片
图片
图片
图片

👇加入学习(收费,备注:299)

图片