2012-03-19 77 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