一般来说,R中使用pheatmap绘制聚类热力图的写法如下:
pheatmap(sample_1,scale = "row",fontsize=6, fontsize_col = 8,cluster_cols = F,
color = colorRampPalette(c("steelblue", "white", "firebrick3"))(10),
)
这里的第一参数为数据,第二个参数 scale="row"
表示对于行数据进行 归一化 , cluster_cols
表示是否对列进行聚类分析,后面的参数即图的样式等等。
在python中,一般来说使用 seaborn.clustermap
这个包中的函数来进行聚类分析图的绘制,一种写法如下:
sns.clustermap(simple_data, z_score=0, method='complete',
col_cluster=False,cmap='RdBu',
figsize=(len(simple_data.columns),
len(simple_data.index)))
- 其中传入的数据为
Dataframe
类型的数据, - clustermap中对于数据的归一化处理有两种,一种为
z-scale
变换,另一种为standard_scale
方式,且值为0表示对行数据归一化,1表示对列归一化,**经过实验,只有z-scale
变换得到的图像的结果与R中的pheatmap默认的处理结果一致 - 其他的参数是颜色等的设置
所以如果发现同样的数据,使用不同的方式处理后得到的聚类热力图不一致,可以尝试指定参数 z-scale
。
此外,pheatmap默认的聚类方法是 complete
且距离的计算方式是 欧几里得距离
而python中默认的聚类方式是 average
,距离计算方式也是 欧几里得距离
所以后一段代码中制定了 method