这个问题,其实答案就存在于《听说你还不会画热图》,我们先生成一个矩阵: set.seed(2017-11-12)d = data.frame(matrix(rnorm(100), ncol=10))colnames(d) = paste0('t', 1:10)rownames(d) = paste0('g', 1:10) 这个矩阵是 d2 = abs(d) * 1.2 下面这个代码来自于《听说你还不会画热图》,定义一个color palette函数: library(RColorBrewer)cc = colorRampPalette(rev(brewer.pal(n = 7, name = 'RdYlBu'))) 有了这个函数,那么这个问题就极其简单,无非是不同的数据集pool在一起取最大最小值,然后切出一堆等长区间,用上面定义的 breaks = seq(min(unlist(c(d, d2))), max(unlist(c(d, d2))), length.out=100)library(pheatmap)p1 = pheatmap(d, color=cc(100), breaks=breaks)p2 = pheatmap(d2, color=cc(100), breaks=breaks)cowplot::plot_grid(p1$gtable, p2$gtable, ncol=2) 电梯 |
|
来自: 公彦栋 > 《pheatmap》