【画图】pheatmap多图组合

1. 解决问题

  在进行多图绘制的时候,用cowplot::plot_grid函数进行多图组合,结果在多图组合的时候,别的ggplot画图的对象没有任何问题,但是pheatmap的出现问题,并抛出如下警告信息:

p4<-cowplot::plot_grid(p1, p2, p3, ncol=1, labels=LETTERS[1:3])
Warning message:
In as_grob.default(plot) :
  Cannot convert object of class pheatmap into a grob.

2. 解决方法

  通过一系列的查询报错原因,终于找到了问题的原因,原来cowplot::plot_grid多图组合的话,必须得是ggplot对象,而pheatmap不是ggplot对象,因此才会出现此问题。并且找到了相应的解决方法解决方法:

library(pheatmap)
test <- matrix(rnorm(200), 20, 10)
mfs <- mfs_ma <- mfs_fe <- pheatmap(test)
cowplot::plot_grid(mfs$gtable, mfs_ma$gtable, mfs_fe$gtable,
                   ncol= 3, labels=LETTERS[1:3])
pheatmap组合图示例结果图

  到此,pheatmap多图组合报错问题得到解决,后续如果需要不同的图组合,可以很方便的组合一起,

cowplot::plot_grid(p1, p2,p3$gtable,ncol= 3, labels=LETTERS[1:3])
#这里的p3为pheatmap画图的对象

参考链接

Put many heatmap images in one single slide

2021年1月4日

你可能感兴趣的:(【画图】pheatmap多图组合)