我想制作一个时间过程数据集的热图,并将行聚类,如下图所示。目前我正在使用以下代码,这不会给出一个非常好的情节。我如何获得这些特征波结构。
> head(data)
X0h X1h X4h X9h X15h X18h X21h
gene1 8.117944 8.441725 8.678869 8.152143 8.114986 8.421052 8.054885
gene2 3.655405 4.237245 3.829953 4.160893 4.332883 4.495445 4.550856
pd <- as.data.frame(scale(t(data)))
pd$Time <- sub("_.*", "", rownames(pd))
pd.m <- melt(pd)
pd.m$variable <- as.numeric(factor(pd.m$variable, levels = rev(as.character(unique(pd.m$variable))), ordered=F))
p <- ggplot(pd.m, aes(Time, variable))
p + geom_tile(aes(fill = value)) + scale_fill_gradient2(low=muted("blue") + high=muted("red")) + scale_x_discrete(labels=c("0h", "0.25h", "0.5h","1h","2h","3h","6h")) +
theme_bw(base_size=20) +
theme(axis.text.x=element_text(angle=0, vjust=0.5, hjust=0, size=12),
axis.text.y=element_text(size=12), strip.text.y=element_text(angle=0, vjust=0.5, hjust=0.5, size=12),
strip.text.x=element_text(size=12)) +
labs(y="Genes", x="Time (h)", fill="")