加载R包
library(ggheatmap)
library(tidyr)
数据
set.seed(123)
df <- matrix(runif(225,0,10),ncol = 15)
colnames(df) <- paste("sample",1:15,sep = "")
rownames(df) <- sapply(1:15, function(x)paste(sample(LETTERS,3,replace = F),collapse = ""))
df[1:4,1:4]row_metaData <- data.frame(exprtype=sample(c("Up","Down"),15,replace = T),genetype=sample(c("Metabolism","Immune","None"),15,replace = T))
rownames(row_metaData) <- rownames(df)
col_metaData <- data.frame(tissue=sample(c("Normal","Tumor"),15,replace = T),risklevel=sample(c("High","Low"),15,replace = T))
rownames(col_metaData) <- colnames(df)
exprcol <- c("#EE0000FF","#008B45FF" )
names(exprcol) <- c("Up","Down")
genecol <- c("#EE7E30","#5D9AD3","#D0DFE6FF")
names(genecol) <- c("Metabolism","Immune","None")
tissuecol <- c("#98D352","#FF7F0E")
names(tissuecol) <- c("Normal","Tumor")
riskcol <- c("#EEA236FF","#46B8DAFF")
names(riskcol) <- c("High","Low")
col <- list(exprtype=exprcol,genetype=genecol,tissue=tissuecol,risklevel=riskcol)
text_rows <- sample(rownames(df),3)
图1
p<- ggheatmap(df,cluster_rows = T,cluster_cols = T,scale = "row",text_show_rows = text_rows,cluster_num = c(3,3),tree_color_rows = c("#008B45FF","#631879FF","#008280FF"),tree_color_cols = c("#1F77B4FF","#FF7F0EFF","#2CA02CFF"),annotation_rows = row_metaData,annotation_cols = col_metaData,annotation_color = col
)
p
图2
p%>%ggheatmap_theme(1:5,theme =list(theme(axis.text.x = element_text(angle = 90,face = "bold",size = 10),axis.text.y = element_text(colour = "red",face = "bold")),theme(legend.title = element_text(face = "bold")),theme(legend.title = element_text(face = "bold")),theme(legend.title = element_text(face = "bold")),theme(legend.title = element_text(face = "bold"))))
图3
ggheatmap(df,cluster_rows = T,cluster_cols = T,scale = "row",text_show_rows = text_rows,border = "grey",cluster_num = c(3,3),tree_color_rows = c("#008B45FF","#631879FF","#008280FF"),tree_color_cols = c("#1F77B4FF","#FF7F0EFF","#2CA02CFF"),annotation_rows = row_metaData,annotation_cols = col_metaData,annotation_color = col
)%>%ggheatmap_theme(1,theme =list(theme(axis.text.x = element_text(angle = 90,face = "bold",size = 10),axis.text.y = element_text(colour = "red",face = "bold"))))
图4
ggheatmap(df,cluster_rows = T,cluster_cols = T,scale = "row",text_show_rows = text_rows,border = "grey",shape = "circle",cluster_num = c(3,3),tree_color_rows = c("#008B45FF","#631879FF","#008280FF"),tree_color_cols = c("#1F77B4FF","#FF7F0EFF","#2CA02CFF"),annotation_rows = row_metaData,annotation_cols = col_metaData,annotation_color = col
)%>%ggheatmap_theme(1,theme =list(theme(axis.text.x = element_text(angle = 90,face = "bold",size = 10),axis.text.y = element_text(colour = "red",face = "bold"))))
图5
ggheatmap(df,cluster_rows = T,cluster_cols = T,scale = "row",text_show_rows = text_rows,border = "grey",cluster_num = c(3,3),tree_color_rows = c("#008B45FF","#631879FF","#008280FF"),tree_color_cols = c("#1F77B4FF","#FF7F0EFF","#2CA02CFF"),annotation_rows = row_metaData,annotation_cols = col_metaData,annotation_color = col,text_position_rows = "left",text_position_cols = "top",tree_position_rows = "right",tree_position_cols = "bottom",annotation_position_rows = "right",annotation_position_cols = "bottom")%>%ggheatmap_theme(1,theme =list(theme(axis.text.x = element_text(angle = 90,face = "bold",size = 10),axis.text.y = element_text(colour = "red",face = "bold"))))
参考
- https://github.com/XiaoLuo-boy/ggheatmap