绘制热图代码

library(pheatmap)
#读入行为基因名的矩阵
mRNA_exp_heatmap<-read.delim(file="heatmap_CHX.txt",header = T,sep="\t",row.names = 1 )
head(mRNA_exp_heatmap)
##           X5918_input X8845_input X5918_HS5 X8845_HS5 X5918_HS5_CHX
## PPP2R5A         54.17       40.00     42.11     35.56         77.50
## VARS2_450       35.85       48.48     18.92     20.45         34.62
## KIAA0196        24.49       31.25     18.18     24.32         30.36
## KIAA1033        50.50       56.57     48.42     35.87         61.24
## AP2A2           19.51       27.27     15.15     20.00         28.26
## WASHC4          35.90       39.44     31.94     21.33         44.44
##           X8845_HS5_CHX X9128_input X11589_input X9128_HS5 X11589_HS5
## PPP2R5A           71.70        1.09         2.00      0.00       1.41
## VARS2_450         43.14        0.00         0.00      0.00       0.00
## KIAA0196          50.00        2.08         0.00      0.00       0.00
## KIAA1033          60.14       15.86        22.58     13.59       7.14
## AP2A2             43.10        0.00         0.00      0.00       0.00
## WASHC4            43.00        8.27        15.04      8.25       3.70
##           X9128_HS5_CHX X11589_HS5_CHX
## PPP2R5A           10.81           9.28
## VARS2_450          2.17           0.00
## KIAA0196           5.30           4.48
## KIAA1033          22.83          21.69
## AP2A2              0.00           0.00
## WASHC4            13.27          11.38
# 对数据归一化处理
choose_matrix<-mRNA_exp_heatmap
choose_matrix=t(scale(t(choose_matrix)))
choose_matrix[choose_matrix > 1] = 1
choose_matrix[choose_matrix < -1] = -1
choose_matrix[1:5,1:5]
##           X5918_input X8845_input X5918_HS5  X8845_HS5 X5918_HS5_CHX
## PPP2R5A     0.8881174   0.3920250 0.4658962 0.23658041     1.0000000
## VARS2_450   0.9875816   1.0000000 0.1020404 0.18206859     0.9232451
## KIAA0196    0.5263060   0.9391270 0.1409657 0.51592444     0.8847763
## KIAA1033    0.8002834   1.0000000 0.6949130 0.05914423     1.0000000
## AP2A2       0.4511658   0.9709303 0.1591332 0.48398601     1.0000000
#图注
ann_col = data.frame(CellType = factor(rep(c("MT","WT"),c(6,6)))) #分组
rownames(ann_col) <- colnames(choose_matrix)
ann_colors = list(CellType = c(MT = "indianred2", WT = "mediumpurple3"))#图注颜色
#绘图并保存
#pdf(file = "heatmap01.pdf",height = 5,width = 5)
pheatmap(choose_matrix,#矩阵
         annotation_col = ann_col,annotation_legend=TRUE,annotation_colors = ann_colors,
         cluster_rows=FALSE,
         cluster_cols=FALSE,
         show_colnames = FALSE,
         gaps_col = 6,#分割
         cellwidth = 10, cellheight =15,fontsize = 8,#大小
         color = colorRampPalette(c("navy","white","firebrick3"))(1000))#颜色

#dev.off()