绘制两个具有相同单元格大小的热图

时间:2014-09-19 15:24:58

标签: r plot

我正在使用heatmap.2绘制两个不同行数的热图。有没有办法设置绘图的输出,以便两个热图之间的实际单元格大小完全相同?

library(gplots)
data(mtcars)
x<-as.matrix(mtcars)
###  this heatmap has 32 rows
heatmap.2(x,key=F)


x1<-x[1:10,]
###  this heatmap has 10 rows
heatmap.2(x1,key=F)

1 个答案:

答案 0 :(得分:0)

使用lmat的{​​{1}},lheilwid参数,这可以通过某种方式完成。这些参数传递给heatmap.2并列出图像的各个部分。

layout

如您所见,matrix参数给出了一个如下的矩阵:

library(gplots)
data(mtcars)
x <- as.matrix(mtcars)
###  this heatmap has 32 rows
heatmap.2(x = x,
          key = F,
          lmat = matrix(c(4,2,3,1),
                        nrow=2,
                        ncol=2),
          lhei = c(0.1,0.9),
          lwid = c(0.3,0.7))

热图是首先绘制的,然后是行,然后是列树形图。 [,1] [,2] [1,] 4 3 [2,] 2 1 lhei的参数给出了lwid中描述的每个布局列和行的相对大小。通过一些创造力,您可以布置面板,以便您按照自己的意愿上下移动。作为概念证明,我刚刚执行了以下操作,将lmat缩放为lhei

10/32

在: Larger Heatmap

在: Smaller Heatmap