heatmap.2和颜色键刻度线

时间:2014-05-12 16:09:58

标签: r heatmap color-key

我使用heatmap.2在R中制作了热图,我唯一能弄清楚的是如何控制颜色键上刻度线的存在和标记。我有一个例子如下。我想要做的是在颜色键的开头和结尾有刻度标记以指示值的范围(在这种情况下为0-1),而不是标记为0,0.4和0.8的6个刻度线。我确信有一种简单的方法来控制它,但我似乎无法找到它。

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")

enter image description here

编辑:

我能找到的唯一解决办法是直接更改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)
...
}

1 个答案:

答案 0 :(得分:3)

&#34; key.xtickfun&#34;争论就是你想要的。将函数传递给此参数,该参数返回一个命名列表,其元素将传递给&#34;轴&#34;功能

在这个功能中,我得到了#34;休息&#34;从父框架(gplots环境),使它们漂亮,并只保留第一个和最后一个中断,即最小和最大。然后,返回一个列表&#34; at&#34;和&#34;标签&#34;。 &#34;在&#34;是在break上调用的scale01函数(也来自父框架)返回的值。 &#34;标签&#34;是标签,应该是休息本身。

predict()