R:heatmap.2更改颜色键

时间:2011-12-21 10:27:54

标签: r colors heatmap

我对包gplots有疑问。我想使用函数heatmap.2,因此我想将颜色键中的对称点从0更改为1.通常在symkey=TRUE并使用col=redgreen()时,会创建一个颜色条颜色是这样管理的:

red = -2 to -0.5
black=-0.5 to 0.5
green= 0.5 to 2

现在我要创建一个这样的颜色栏:

red= -1 to 0.8
black= 0.8 to 1.2
green= 1.2 to 3

这样的事情可能吗?

谢谢!

1 个答案:

答案 0 :(得分:10)

如果你看the heatmap.2 help file,看起来你想要breaks参数。从帮助文件:

  

breaks(可选)指示用于将x合并为颜色的分割点的数字向量,或要使用的整数个断点,在这种情况下,断点将在min(x)之间平均间隔)和max(x)

因此,您使用breaks指定每种颜色的截止点。 e.g:

library(gplots)

# make up a bunch of random data from -1, -.9, -.8, ..., 2.9, 3
# 10x10
x = matrix(sample(seq(-1,3,by=.1),100,replace=TRUE),ncol=10)

# plot. We want -1 to 0.8 being red, 0.8 to 1.2 being black, 1.2 to 3 being green.
heatmap.2(x, col=redgreen, breaks=c(-1,0.8,1.2,3))

关键的一点是breaks=c(-1,0.8,1.2,3)是你的截止点。