heatmap绘制热图时出现样本列名顺序调换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Candle_light/article/details/85544319

今天像往常一样,用 ComplexHeatmap包中的 Heatmap函数画热图,本来输入是正常的
如图,C12H在左,RTF在右
1

代码也没啥问题

setwd("F:\\学习文件存放地址\\IOZ_实验室\\yangby\\结果文件\\all_表达矩阵\\")
library(ComplexHeatmap)
library(circlize)
#含注释_all_deseq_CH_vs_RTF.csvtargetgene
fil<-read.csv("含注释_all_deseq_CH_vs_RTF.csvtargetgene.csv")
paint_map_data<-fil
row.names(paint_map_data)<-as.vector(fil[,16]) #设置图的rowname
paint_map_data<-paint_map_data[,c(10,11,12,13,14,15)]
colnames(paint_map_data)<-c("c12h1","c12h2","c12h3","RTF1","RTF2","RTF3") #设置图的colname
Heatmap(paint_map_data[1:11,],c("blue","white")) #调用Heatmap函数展示基因表达量的热图

但是画出来,竟然是这样的?! 样本列名顺序不一致啦!

可以明显看到样本c12h3跑到了图的左边,RTF样本名称之间的顺序也发生了变化,明明是RTF1,RTF2,RTF3排列的,现在变成了RTF1,RTF3,RTF2

2

查看了一下Heatmap函数的参数,才知道原来这是由于对样本的列进行了聚类导致的

因为聚类,将相似的样本就放在一起了,所以样本顺序发生了变化,我们可以看到热图上方的聚类树,这就是聚类的情况
3

解决办法:画图的时候关掉对列样本进行聚类的功能,如下设置:

Heatmap函数中添加参数**cluster_columns=F** 即可

Heatmap(paint_map_data[1:11,],c("blue","white"),cluster_columns=F) #调

大功告成:

4

可以看到热图顶部的聚类树消失了,我们的样本顺序也是和原来一样,没有发生变动了

猜你喜欢

转载自blog.csdn.net/Candle_light/article/details/85544319