在调用NMF包aheatmap或heatmap.2时,如何使R绘制树状图标度(以便解释每个树状图的高度)和热图?这些树状图显示了规模:http://gastonsanchez.com/blog/how-to/2012/10/03/Dendrograms.html,这是执行plot(hclust(...))的默认行为,我想仿真一下,但不确定如何通过heatmap函数来实现。
发布于 2014-03-18 00:58:29
这里的问题是heatmap.2如何绘制一个dendrogram对象。heatmap.2使用代码plot(ddr, horiz = TRUE, axes = TRUE, yaxs = "i", leaflab = "none"),其中ddr是树状图。您希望axes参数是FALSE。作为解决办法,我创建了heatmap.2函数的修改版本。有关详细信息,请参阅?plot.dendrogram。
x = matrix( rnorm(25), ncol=5 )
f = gplots:::heatmap.2
# Edit the appropriate lines of the heatmap.2 function
print(body(f)[[75]]) # The line to edit
# if (dendrogram %in% c("both", "row")) {
# plot(ddr, horiz = TRUE, axes = FALSE, yaxs = "i", leaflab = "none")
# } else plot.new()
body(f)[[75]][[3]][[2]][[4]] = TRUE
print(body(f)[[77]])
# if (dendrogram %in% c("both", "column")) {
# plot(ddc, axes = FALSE, xaxs = "i", leaflab = "none")
# } else plot.new()
body(f)[[77]][[3]][[2]][[3]] = TRUE
f(x)

https://stackoverflow.com/questions/22466933
复制相似问题