我希望能够使用两个RowSideColor条和R包图中的heatmap.2函数,但我无法弄清楚如何做到这一点。我已经在堆栈溢出之前看到过这个问题,并且在回答问题的同时,回复没有解决这个问题。将因子添加到输入数据矩阵将不起作用,因为它会影响层次聚类的结果。如果有必要,我愿意使用其他类似热图的功能来实现我的目标。
谢谢, 布拉德
答案 0 :(得分:10)
我以前想要这样做,并且总是习惯制作两张热图,并将一张RowSideColors
条从一张热图复制粘贴到另一张热图上。我只是做了一些搜索,发现可以执行此操作的heatmap.plus
包:
# install.packages("heatmap.plus") #install package
require("heatmap.plus")
data(cars) # using cars data as example
# create a matrix of colors for RowSideColors
myCols = cbind(rep(c("yellow", "blue"), 25), rep(c("red", "green"), 25))
heatmap.plus(data.matrix(cars), RowSideColors=myCols)
此包中的RowSideColors
参数可以接受颜色矩阵以绘制多行颜色。