我正在尝试在 R 中创建 2 个具有可变值的热图。我希望对颜色和值进行缩放,以便两个热图的值具有可比性。现在我正在使用 gplot 包中的 heatmap.2。
MyHeatMap <- heatmap.2(MyData, trace="none", col=greenred)
我的数据来自一个数字矩阵。我有两个矩阵,其中值的数值范围略有不同,我想为两者创建高质量的热图(不一定要使用示例包)。
我在自己的分析中多次遇到这个问题,这里是我建议的处理方法。
首先,使用 greenred(256) 将 greenred 颜色变量设置为 256 种颜色。
然后,创建一个 break 变量,其中包含您希望为两个热图拆分这 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)
这应该会生成两个具有不同数据集的热图,这些数据集使用相同的色标。
希望这可以帮助!
罗恩