带有 pheatmap 的多个面板图

Kal*_*leb 4 plot r heatmap pheatmap

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

代码可以在这里pheatmap找到。

当我尝试以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))
Run Code Online (Sandbox Code Playgroud)

小智 5

在 ggplot 中制作条形图

bar <- ggplot()  
Run Code Online (Sandbox Code Playgroud)

将条形图和热图分配给变量

heat <- pheatmap(matrix(rnorm(80),nrow=8))
Run Code Online (Sandbox Code Playgroud)

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

grid.arrange(bar, heat[[4]], nrow = 1)
Run Code Online (Sandbox Code Playgroud)