pheatmap()画图

$rm(list =ls())    

$library(pheatmap)

$a1=rnorm(100)    生成一百个随机数的a1

$dim(a1)=c(5,20)  加维度

$pheatmap(a1)  

$a2=rnorm(100)+2   

$dim(a2)=c(5,20)

$pheatmap(a2)

$pheatmap(cbind(a1,a2)) 

$pheatmap(cbind(a1,a2), cluster_cols = T)  画的图是自动排好序的,要是不让他排序

这是排好序的:

这是没排序的:

这样看来没名字不好看:

$b=cbind(a1,a2)  把a1与a2合并

$b=as.data.frame(b)  将b转化为data.frame

$names(b)=c(paste('a1',1:20,sep = '_'), paste('a2',1:20,sep = '_'))  将a1与a2分别命名为a1_1....a1_20, a2_1.....a2_20

$pheatmap(b)

$pheatmap(b, cluster_cols = T, scale = "row")

scale="row":防止一个值太大,显得其他的都不明显,相当于一个归一化normalization

$pheatmap(b, cluster_cols = T, scale = "row", display_numbers = TRUE) 在每个方块上加上数据

给图加annotation

先设一个dataframe: 

$tmp=data.frame(group=c(rep('a1',20),rep('a2',20)))   a1,a2各20共40列,所以创建40

$rownames(tmp)=colnames(b)  tem的行名等于b的列名 (40对40)

$pheatmap(b,annotation_col = tmp)  画加了annotation的图


完整代码:

a1=rnorm(100)

dim(a1)=c(5,20)

a2=rnorm(100)+2

dim(a2)=c(5,20)

b=cbind(a1,a2)

b=as.data.frame(b)

names(b)=c(paste('a1',1:20,sep = '_'), paste('a2',1:20,sep = '_'))

temp=data.frame(group=c(rep('a1',20),rep('a2',20)))

rownames(tmp)=colnames(b)

pheatmap(b,annotation_col = tmp)


欢迎交流[email protected]

你可能感兴趣的:(pheatmap()画图)