R Heatmap按组分组颜色x轴标签

时间:2016-01-11 21:34:52

标签: r heatmap

我正在使用热图功能绘制矩阵。矩阵中的每列代表一个样本,我有4个样本类型,每个类型具有不同的数量。我可以按样品类型沿x轴着色标签吗?

scaleyellowred <- colorRampPalette(c("lightyellow", "red"), space = "rgb")(10)
heatmap(fitted@H, Rowv = NA, Colv = NA, col = scaleyellowred)

2 个答案:

答案 0 :(得分:1)

你介意使用ggplot2吗?..

library(ggplot2)
data("diamonds")
library(dplyr)

diamonds %>% select(cut, color, price) %>% 
        group_by(cut, color) %>% summarize(mean.price=mean(price)) -> data.set
data.set %>% ggplot(data=., mapping=aes(x=cut, y=color, fill=mean.price)) + geom_tile() +
        theme(axis.text.x=element_text(color=rainbow(ncol(data.set))))

答案 1 :(得分:0)

来自heatmap.2()

gplots对此有colCol个参数。设置与样品类型对应的颜色名称向量。为简单起见,假设它们在原始矩阵中组合在一起。

m <- matrix(rnorm(400), ncol=40)
sample.types <- c(rep("Blue", 10), rep("Green", 10), rep("Red", 10), rep("Purple", 10))

library(gplots)
heatmap.2(m, trace="none", colCol = sample.types)

enter image description here

请注意,样本类型在群集时保留了正确的颜色。