前段时间我们更新过一篇推文热图系列1,隶属R语言学习系列,今天我们继续热图系列2
library(pheatmap) TEST=read.csv("TEST.csv",sep = ',',header = T,row.names=1)
pheatmap(TEST)
我们的示例数据基因差异很明显,而且没有离群值,当有一个极大值的时候,就不会有这样的效果,比如 TEST1=TEST TEST1[1,20]<-1000 pheatmap(TEST1) 这样完全看不出差异了,所以这个时候需要对数据进行标准化 #scale = "row"参数对行进行归一化 #clustering_method参数设定不同聚类方法,默认为"complete",可以设定为 #'ward', 'ward.D', 'ward.D2', 'single', 'complete', 'average', 'mcquitty', 'median' or 'centroid' pheatmap(TEST1,scale = "row")#按照行进行均一化 这样就可以看清基因表达之间的差异了
pheatmap(TEST1,scale = "row",clustering_distance_rows = "correlation") #表示行聚类使用皮尔森相关系数聚类,默认为欧氏距离"euclidean" #可以对行,列聚类,cluster_row行 ,cluster_col列 pheatmap(TEST,scale = "row",cluster_row=T,cluster_col=T)
pheatmap(TEST, cellwidth = 10, cellheight = 5, fontsize = 10) #宽10,长5,字体大小10
#display_numbers = TRUE参数设定在每个热图格子中显示相应的数值, #number_color参数设置数值字体的颜色, #fontsize_number设置数字的大小 pheatmap(TEST, display_numbers = TRUE,number_color = "black",fontsize_number=6) #设定展示条件 pheatmap(TEST, display_numbers = matrix(ifelse(TEST > 6, "*", ""), nrow(test)))#图8 #展示大于6的为*
#legend_breaks参数设定图例显示范围,legend_labels参数添加图例标签 pheatmap(TEST, legend_breaks = -3:3) #也可以去掉legend pheatmap(TEST, legend= F)
#自定义颜色 colorRampPalette pheatmap(TEST, color = colorRampPalette(c("navy", "white", "firebrick3"))(100)) 每一种颜色在R里面都有代码,如下图,我们可以不断的尝试直到画出自己满意的 颜色代码网址:https://www./other/rgb.htm
# border_color参数设定每个热图格子的边框色 # border=TRIUE/FALSE参数是否要边框线 pheatmap(TEST, border=FALSE)#不要边框
#生成列的注释 colnames(TEST) annotation_col= data.frame(Type=factor(c(rep('cancer',10),rep('normal',10)))) rownames(annotation_col) =colnames(TEST) #画图 pheatmap(TEST, annotation_col = annotation_col)
pheatmap(TEST,scale = "row", annotation_col = annotation_col,gaps_row = 25,cluster_rows = FALSE) pheatmap(TEST,scale = "row", annotation_col = annotation_col,gaps_col = 10,cluster_cols = FALSE) pheatmap(TEST,scale = "row", annotation_col = annotation_col,gaps_col = 10,cluster_cols = FALSE,gaps_row = 25,cluster_rows = FALSE)
labels_row = c("gene1", "", "", "","", "", "", "","", "", "", "", "","", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "","", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "gene50") pheatmap(TEST, annotation_col = annotation_col, labels_row = labels_row,cluster_rows = FALSE) 自己又只做了一个数据,得到下面的图 library(pheatmap) TEST=read.csv("中国加油.csv",sep = ',',header = T,row.names=1) pheatmap(TEST,cluster_cols=F,cluster_rows=F,show_colnames=F,show_rownames=F,legend = F) 下面是pheatmap包常见的函数
|
|