R:热图。2更改颜色键

R:热图。2更改颜色键,r,colors,heatmap,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 这样的事情可能吗 谢谢大家! 如果您查看

我对包
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
这样的事情可能吗

谢谢大家!

如果您查看,看起来您希望
中断
参数。从帮助文件:

中断
(可选)表示将x分为颜色的分割点的数字向量,或使用整数个中断点,在这种情况下,中断点的间距将在最小(x)和最大(x)之间相等

因此,您可以使用
中断
来指定每种颜色的截止点。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)
是您的截止值。

谢谢数学咖啡。是否还有一种方法可以创建更多的颜色重叠?通常我使用红绿(75)来创建75种颜色!如中所示,您希望-1到0.8是不同深浅的红色,0.8到1.2是不同深浅的黑色(!),1.2到3是不同深浅的绿色?您可以尝试在
中断中添加更多中断。e、 g.
c(序号(-1,0.8,长度=5)、序号(0.8,1.2,长度=5)、序号(1.2,3,长度=5)
每次中断大约有5个阴影,以此类推。但是每次中断都必须有相同数量的阴影,因为
红绿
从红色到绿色呈线性缩放:如果颜色不均匀,就会有一些颜色相互渗透。但是既然
红绿
是一个渐变色,你如何判断红色何时开始行动和黑启动等等?谢谢!这正是我需要的!:)