我正在尝试在R中创建具有变量值的2个热图。我希望缩放颜色和值,以便两个热图的值可比较。现在我正在使用gplot包中的heatmap.2。
MyHeatMap <- heatmap.2(MyData, trace="none", col=greenred)
我的数据来自数字矩阵。我有两个这样的矩阵,其值的数值范围略有不同,我想为两者创建高质量的热图(不一定要使用样本包)。
答案 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)
这应该产生两个热图,其中不同的数据集使用相同的色标。
希望这有帮助!
罗恩