簡體   English   中英

如何在R的熱圖2中對預歸一化的數據使顏色鍵的范圍從0到1

[英]How to make color key range from 0 to 1 on pre-normalized data in R's heatmap.2

我的以下代碼:

library(RColorBrewer)
library(gplots)
dat <- mtcars 

# normalize here
dat <- t(apply(dat, 1, function(x) log2(x+1)/sum(log2(x+1)) ))

heatcol <- brewer.pal(9, "Reds")

dat.m <- as.matrix(dat) 
heatmap.2(dat.m,
        Colv=FALSE, # We want to maintain column order
        Rowv=FALSE,  
        key=TRUE,
        symbreaks=TRUE,
        col=heatcol,
        dendrogram="none",
        scale="none", # because we already normalize
        trace="none",
        labRow=FALSE, 
        density.info="none",
        keysize=2);

產生此圖: 在此處輸入圖片說明

請注意,1)我們已經執行了預歸一化,2) scale = "none" 但是為什么在顏色鍵中比例從-0.2到0.2? 如何更改代碼以使顏色鍵在0到1之間縮放?

理想情況下,最終圖的值將被編碼為白色,值為0。

只需將heatmap.2()symkey=FALSE選項symkey=FALSE ,然后顏色鍵將從0變為c。 0.24(矩陣的最大值)。

如果您需要0作為白色,則必須定義其他調色板,因為您的調色板僅包含紅色。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM