Data input and organization

library(readxl)
prediction_enzyme_top50 <- read_excel("D:/(R) plots collection/R markdown/normal heatmap/prediction_enzyme_top50.xlsx")
data = data.frame(prediction_enzyme_top50)
data = data[,-1] #去掉无关的第一列
colnames(data) = c("Enzyme_Category", "7 days", "14 days", "21 days", "1 month")
#data长这样:
knitr::include_graphics("data.png")

library(reshape2)
dat = melt(data) 
## Using Enzyme_Category as id variables
#dat长这样:
knitr::include_graphics("dat.png")

Plot! (已按照value排序)

library(ggplot2)

ggplot(dat, aes(variable, reorder(Enzyme_Category,value), fill=value )) + geom_tile() + theme(axis.title = element_blank(), axis.ticks.length = unit(0.1, 'cm'), axis.text.y = element_text(colour = 'black', size = 7), axis.text.x = element_text(colour = 'black', size = 9)) + theme(axis.ticks = element_line(colour = "black", size = 0.3), legend.text = element_text(size = 7), legend.title = element_text(size = 10), panel.background = element_rect(colour = "black")) + scale_fill_distiller(palette = "YlGnBu", direction = 1)

#换个颜色
ggplot(dat, aes(variable, reorder(Enzyme_Category,value), fill=value )) + geom_tile() + theme(axis.title = element_blank(), axis.ticks.length = unit(0.1, 'cm'), axis.text.y = element_text(colour = 'black', size = 7), axis.text.x = element_text(colour = 'black', size = 9)) + theme(axis.ticks = element_line(colour = "black", size = 0.3), legend.text = element_text(size = 7), legend.title = element_text(size = 10), panel.background = element_rect(colour = "black")) + scale_fill_distiller(palette = "OrRd", direction = 1)

#换个颜色
ggplot(dat, aes(variable, reorder(Enzyme_Category,value), fill=value )) + geom_tile() + theme(axis.title = element_blank(), axis.ticks.length = unit(0.1, 'cm'), axis.text.y = element_text(colour = 'black', size = 7), axis.text.x = element_text(colour = 'black', size = 9)) + theme(axis.ticks = element_line(colour = "black", size = 0.3), legend.text = element_text(size = 7), legend.title = element_text(size = 10), panel.background = element_rect(colour = "black")) + scale_fill_distiller(palette = "Paired", direction = 1)