使用 pheatmap 为热图制作连续颜色图表

Making a continuous color chart for heatmap using pheatmap

我正在寻找如何使用 pheatmap 包并制作连续的彩色编码热图。

我想为我的地图使用三种颜色,红色、白色和蓝色,其中白色 = 0,蓝色代表负数,红色代表正数。我希望它是连续的,而不是任何东西都是 0 = 白色,正数是红色,但更多的是从纯红色到浅色的过渡直到白色。

我在文档中找不到它,所以可能是我对如何让它工作缺乏了解。

这是我目前的代码。

pheatmap(heatmap_matrix,
  cluster_rows = T,
  cluster_cols = T,
  color = c("blue", "white", "red"),
  angle_col = 90)

谢谢!

您可以使用 colorRampPalette:

提供一个长的过渡颜色向量
set.seed(1)
heatmap_matrix <- matrix(rnorm(400), nrow = 20)

pheatmap(heatmap_matrix,
  cluster_rows = T,
  cluster_cols = T,
  color = colorRampPalette(c("blue", "white", "red"))(100),
  angle_col = 90)