在R中创建具有2种不同颜色等级的热图

时间:2020-05-15 09:33:57

标签: r heatmap

我在R中创建热图的数据设置如下:

dat = data.frame(A=c(2,3,0,1), B=c(1,4, 1,0), C=c(4,0,1,1), D=c(2,0,0,4))
rownames(dat) <- c("SKy", "Ing", "Lowl", "embow")
dat.mat = as.matrix(dat)
heatmap(dat.mat, Colv = NA, Rowv = NA)

输出:

enter image description here

如热图输出所示,从浅奶油到葡萄酒/勃艮第的颜色有颜色的渐变,以突出显示0到6的值。我需要帮助以逐渐的红色阴影覆盖A列中的0到6。 B,渐进的绿色阴影覆盖C和D列中的值0到6。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我真的不确定这是否有帮助,但这至少可以为您指明方向。 您可以定义两种配色方案,一种用于颜色AB,一种用于CD,例如:

myCol_AB <- c("orange", "orangered", "red", "firebrick")
myCol_CD <- c("aquamarine", "chartreuse", "green", "green4")

在对heatmap的调用中,您可以插入一条ifelse语句,将myCol_AB分配给列A,将BmyCol_CD分配给{{ 1}}和C

D