[英]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.