在R中创建可比较的热图

时间:2013-05-20 20:36:03

标签: r heatmap

我正在尝试在R中创建具有变量值的2个热图。我希望​​缩放颜色和值,以便两个热图的值可比较。现在我正在使用gplot包中的heatmap.2。

MyHeatMap <- heatmap.2(MyData, trace="none", col=greenred)

我的数据来自数字矩阵。我有两个这样的矩阵,其值的数值范围略有不同,我想为两者创建高质量的热图(不一定要使用样本包)。

1 个答案:

答案 0 :(得分:6)

我在自己的分析中已经多次遇到过这个问题,以下是我建议如何处理它。

首先,将您的绿色变量设置为256绿色(256)。

然后,创建一个中断变量,其中包含您希望为这两个热图分割这256种颜色的数字范围(长度将比颜色矢量的长度多一个)。因此,举例来说,如果您希望传播分别从-1到1从绿色变为红色,那么您可以这样做

pairs.breaks = seq(from=-1,to=1,length.out=257)

然后,在调用热图时,请使用

MyHeatMap1 <- heatmap.2(MyData1, trace="none", col=greenred(256), breaks=pairs.breaks)
MyHeatMap2 <- heatmap.2(MyData2, trace="none", col=greenred(256), breaks=pairs.breaks)

这应该产生两个热图,其中不同的数据集使用相同的色标。

希望这有帮助!

罗恩