【问题标题】:Creating a heatmap with 2 different grades of colour in R在 R 中创建具有 2 种不同颜色等级的热图
【发布时间】:2020-05-15 09:33:57
【问题描述】:

我有以下数据设置用于在 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)

输出:

如热图输出所示,从淡奶油色到酒红色/酒红色的颜色分级以突出显示值 0 到 6。我需要帮助让红色渐变覆盖 A 列中的值 0 到 6 和B,以及渐变的绿色阴影以覆盖 C 和 D 列中的值 0 到 6。

有人可以帮忙吗?

【问题讨论】:

    标签: r heatmap


    【解决方案1】:

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

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

    在对heatmap 的调用中,您可以插入一个ifelse 语句,将myCol_AB 分配给cols AB,将myCol_CD 分配给CD

    heatmap(dat.mat, Colv = NA, Rowv = NA, 
            col = ifelse(dat.mat[, 1:2], myCol_AB, myCol_CD))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-08
      • 1970-01-01
      • 2016-11-03
      • 2016-05-30
      • 1970-01-01
      • 2020-09-20
      • 2012-05-05
      相关资源
      最近更新 更多