我对 R 非常陌生,最近我一直在使用 pheatmap 库来生成热图。我的问题是我想以特定方式为热图着色。我将在下面描述:
- 值 < 1 应该是一个色带(例如深蓝色到浅蓝色)
- 正好等于 1 的值应该是深灰色
- 值 > 1 应该是一个色带(例如深红色到浅红色)
我玩过breaks
参数和color
各种调色板的参数,但我似乎无法找到一个好的解决方案。我最接近的是这样的:
pheatmap(mtx,
color = c('#4444FF','#F4FF4F','#FF4444'),
breaks = c(0,1,2,3),
legend_breaks = c(0,1,2) )
但这不允许范围的可视化,即 0.1 应该看起来与 0.9 不同的阴影,即使它们都应该是蓝色的。任何人都可以提供建议或建议吗?我确实看过这张票并考虑将 1 更改为 NA,但这对我来说有点太复杂了。更不用说我不得不关闭 pheatmap 的集群,这不是我想做的事情。谢谢!