整理了下自己觉得还不错的一些选项,记录以供查看。
先看图:
Heatmap
输入文件
1.准备基因/代谢物的表达量/相对含量表;
2.准备行的分组列表;
3.准备列的分组列表。
代谢物含量表
列名分组
行名分组
Code
#读入文件
df1 <- read.csv("RB_Metab.csv",header=T,row.names = 1)#写入文件
df2 <- read.csv("RB_Metab_col_annotation.csv",header=T,row.names = 1)
df3 <- read.csv("RB_Metab_row_annotation.csv",header = T,row.names = 1)
library(pheatmap)
bk <- c(seq(-1,-0.1,by=0.01),seq(0,1,by=0.01))#设置色条
anno_color<-list(Treatment=c(Treatment1="blue",Treatment2="purple",Treatment3="red",Treatment4="grey"),Metab_class=c(Class1="orangered",Class2="orchid",Class3="palegoldenrod",Class4="palegreen"))#设置注释颜色
#选做
#若想改变row排列顺序,则可修改
df1_t <- as.data.frame(t(df1))
col_dist = dist(df1_t)
hclust_1 <- hclust(col_dist)
pheatmap(df1, cluster_cols = hclust_1)
manual_order = c("Treatment1_1","Treatment1_2","Treatment1_3", "Treatment2_1","Treatment2_2","Treatment2_3","Treatment3_1","Treatment3_2","Treatment3_3","Treatment4_1","Treatment4_2","Treatment4_3")
dend = reorder(as.dendrogram(hclust_1), wts=order(match(manual_order, rownames(df1_t))))
col_cluster <- as.hclust(dend)
pheatmap(df1,cluster_cols = col_cluster,cluster_rows = F,annotation_row = df3,annotation_col = df2,color = c(colorRampPalette(colors=c("blue","white"))(length(bk)/2),colorRampPalette(colors = c("white","red"))(length(bk)/2)),
breaks = bk,border=F,annotation_colors = anno_color,fontsize_col = 42,fontsize_row = 30,cutree_cols = 4,fontsize=32,main = "Metab heatmap",filename = "test.png",width = 40,height = 42)
#fontsize 改变除主图外所有字体大小
#cutree_cols 表示将列分成几部分
网友评论