【发布时间】:2014-05-12 16:09:58
【问题描述】:
我在 R 中使用heatmap.2 制作了一个热图,唯一我不知道的是如何控制颜色键上刻度线的存在和标签。我有一个下面的例子。我想做的是在颜色键的开头和结尾有刻度线以指示值的范围(在本例中为 0-1),而不是 6 个刻度线,标签分别位于 0、0.4 和 0.8 处。我确信有一种简单的方法可以控制它,但我似乎找不到它。
library('gplots')
data <- c(0, 0.1, 0.1, 0.2, 0.2, 0.7, 0.7, 0.8, 1)
matr <- matrix(data, 3, 3)
heatmap.2(matr, trace="none", density.info="none")
编辑:
我能找到的唯一解决方法是直接更改 heatmap.2 本身以接受其他参数,因为这似乎是硬编码的(在我的情况下,我想为颜色键添加最小和最大范围)。
原始热图.2
heatmap.2 <-function (...)
{
...
lv <- pretty(breaks) # line 362
...
}
改为:
heatmap.2 <-function (..., xMin = NULL, xMax = NULL, ...)
{
...
if(is.null(xMin)) lv <- pretty(breaks)
else lv <- c(xMin, xMax)
...
}
【问题讨论】:
-
您可能无法发布图片,但您一定可以发布Great reproducible example
-
似乎被标记的实际滴答声因一台用户/计算机与另一台用户/计算机不同。当我运行上面的代码时,我得到了标签,正如我提到的,在 0、0.2、0.6 和 1,而当 Henrik 这样做时,他得到了 0、0.4 和 0.8 的标签。也许相关,但我使用的是 R V3.0.3 和 gplots 2.12.1。