【发布时间】:2019-07-30 11:54:59
【问题描述】:
我有一个这样的数据框:
library(lubridate)
date_list = seq(ymd('2017-01-01'),ymd('2018-12-31'),by='day')
values = sample(0:35, 730, replace=TRUE)
testframe = data.frame(Date = date_list, Value = values)
值在 0 到 35 之间。我想用这些数据创建一个热图,颜色从浅蓝 1 到皇家蓝。我的问题是,我想突出显示为 0 的值。它们应该以红色突出显示。所以我不想有一个从 0 到下一个数字的渐变,我完全想把 0 和 1 分开。所以所有的 0 都应该是红色的,所有其他值都应该以从浅蓝色 1 到皇家蓝色的渐变着色。
我正在使用包含 colorRampPalette 的热图,完整代码在这里:Heatmap Code
当我在代码的第 83 行添加 btb<- c("lightblue1", "royalblue") 并在第 46 行更改颜色时,我得到了没有红色的渐变。我现在如何为所有 0 添加红色?
关于如何解决这个问题有什么建议吗?
【问题讨论】: