问题描述
我创建了一个热图,我想在带有图例的行上添加颜色
我明白了:
我想要一个只有行数据才有颜色的图例:
我的代码是:
library(pheatmap)
test = matrix(rnorm(200),20,10)
test[1:10,seq(1,10,2)] = test[1:10,2)] + 3
test[11:20,seq(2,2)] = test[11:20,2)] + 2
test[15:20,2)] = test[15:20,2)] + 4
colnames(test) = paste("Test",1:10,sep = "")
rownames(test) = paste("Gene",1:20,sep = "")
# Draw heatmaps
pheatmap(test)
解决方法
在pheatmap
中进行注释的本机支持方式是使用annotation_row
,如下所示,这将在热图的左侧添加注释轨道:
gene_annot <- data.frame(Experiment = rep(c("Exp1","Exp2"),each = 10),row.names = rownames(test))
pheatmap(test,annotation_row = gene_annot)
但是,如果要按照建议的方式进行操作,可以使用grid
和gridExtra
进行,这是一个非常手动的过程:制作热图,修改{{ 1}}对象,然后创建图例,然后将图例添加到表中。
图书馆(网格) 库(gridExtra)
gtable