带有 pheatmap 的多个面板图

Multiple panel plots with pheatmap

我正在尝试绘制多面板图,其中一个面板是热图,使用 layout 放置图。我一直在用 pheatmap 绘制热图,它提供了一种非常方便的配色方案。

pheatmap 的代码可用 here

当我尝试以这种方式使用 pheatmap 时,它总是绘制在新页面上。我想这是因为它使用了 grid 包?有什么方法可以用 pheatmap 做到这一点吗?

在条形图旁边生成热图的示例代码,但由于热图被绘制在下面的新页面上,所以它没有:

xlay=layout( matrix(c(2,2,1),nrow=1) )
layout.show(xlay)
barplot(rnorm(8),horiz=T)
pheatmap(matrix(rnorm(80),nrow=8))

在 ggplot 中制作条形图

bar <- ggplot()  

将条形图和热图都分配给一个变量

heat <- pheatmap(matrix(rnorm(80),nrow=8))

然后使用gridExtra包制作面板图热图被保存为一个对象,你可以通过评估对象中的第4项再次绘制它

grid.arrange(bar, heat[[4]], nrow = 1)