我目前正在使用ggplot函数在R中生成热图.在下面的代码中..我首先将数据读入数据帧,删除任何重复的行,分解时间戳字段,融合数据帧(根据'timestamp'),缩放0和1之间的所有变量,然后绘制热图.
在得到的热图中,时间在x轴上绘制,并且每个iostat-sda变量(参见下面的样本数据)沿y轴绘制.注意:如果要尝试R代码 - 可以将下面的示例数据粘贴到名为iostat-sda.csv的文件中.
但是我真的需要能够对这个热图中的行进行聚类...任何人都知道如何使用ggplot函数实现这一点?
任何帮助将非常感谢!!
############################## The code
library(ggplot2)
fileToAnalyse_f <- read.csv(file="iostat-sda.csv",head=TRUE,sep=",")
fileToAnalyse <- subset(fileToAnalyse, !duplicated(timestamp))
fileToAnalyse[,1]<-factor(fileToAnalyse[,1])
fileToAnalyse.m <- melt(fileToAnalyse, id=1)
fileToAnalyse.s <- ddply(fileToAnalyse.m, .(variable), transform, rescale = rescale(value) ) #scales each variable between 0 and 1
base_size <- 9
ggplot(fileToAnalyse.s, aes(timestamp, variable)) + geom_tile(aes(fill = rescale), colour = "black") + scale_fill_gradient(low = "black", high = "white") + theme_grey(base_size = base_size) + labs(x = "Time", y = "") + opts(title = paste("Heatmap"),legend.position = "right", axis.text.x = theme_blank(), axis.ticks = …Run Code Online (Sandbox Code Playgroud)