2012-03-19 177 views
4

我使用下面的代码来生成使用heatmap.2的热图.R键=“F”在顶部删除了颜色键。但是,情节不会在原先由颜色键占据的地方留下空白空间。如何通过摆脱顶部的空白空间来重新定位情节?Recenter heatmap.2 in R

dImp_heatmap <- heatmap.2(dSet_matrix, Rowv=NA, Colv=NA, col = cm.colors(20), dendrogram="none",trace="none", key="F",margins=c(1,8),colsep=c(1:6),rowsep=(1:62),sepwidth=c(0.05,0.05), sepcolor="white", cellnote=round(dSet_matrix,digits=2),notecol="black",notecex=0.7,scale="column") 

回答

7

如果你仔细阅读?heatplot.2的文档,你会在参数列表的底部看到以下内容:

lmat,lhei,lwid可视布局:位置矩阵,柱高, 列宽。详情请参阅以下

,详情:

这种布局可以通过 lmat,lwid和lhei specifiying适当的值被重写。 lmat控制每个 元素的相对位置,而lwid控制列宽度,lhei控制行高度。有关如何使用 这些参数的详细信息,请参阅帮助页面的布局。

因此,例如:

data(mtcars) 
x <- as.matrix(mtcars) 
rc <- rainbow(nrow(x), start=0, end=.3) 
cc <- rainbow(ncol(x), start=0, end=.3) 

## 
## demonstrate the effect of row and column dendrogram options 
## 
gplots:::heatmap.2(x,key = FALSE,dendrogram = "row",lhei = c(0.05,0.95)) 

enter image description here

和我想象中的设置lwid将行为类似。虽然我应该补充说明,如果您包含两个树形图,那么左上角的空间对于为树形图绘制空间是必要的。

+0

谢谢,这太棒了!我首先尝试了'lhei = c(0,1)',但是直到第一个元素低于0.03,它才会抛出一个“数字边缘太大”的错误。这是'heatmap.2'的一个问题 – deeenes 2017-02-15 13:08:31