Heatmap.2颜色渐变具有额外的纯色

时间:2015-06-13 16:33:51

标签: r colors constants heatmap

我使用的热图使用heatmap.2创建了从0​​.7到1.3的渐变:

heatmap.2(lifespan.matrix, col=bluered, breaks=c(seq(0.7,1.3,0.01)),
Rowv = FALSE, Colv = FALSE, trace="none", main="Lifespan")

在热图中,您可以看到渐变突然以蓝色实线结束。这是因为这些点的矩阵中的值为零。

enter image description here

我希望在标记为0的矩阵中将此颜色更改为不同的颜色,即黄色。 任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

一种简单有效的解决方法是使用矩阵中的NA替换零值,并使用na.color参数heatmap.2分别对其进行着色。请参阅我对此问题的回答:https://stackoverflow.com/a/40031933/4477364

答案 1 :(得分:0)

breaks <- seq(0.7,1.3,0.01)
lifespan.matrix <- matrix(sample(c(breaks,rep(0,100)),100,replace=TRUE),nrow=10)
heatmap.2(lifespan.matrix, col=c("#FFFF00",bluered(length(breaks)-2)), breaks=breaks, Rowv = FALSE, Colv = FALSE, trace="none", main="Lifespan")

指定与休息相关联的确切颜色。