我试图在我的热图中增加行和列之间的间隔宽度。我使用分隔宽度,但是当我试图增加间隔宽度时,它不会向右移动列或行。
下面是一个例子
library(gplots)
mat = matrix( rnorm(100), ncol=5 )
colorside = gray(1:5/5)
bk1 = seq(min(mat),max(mat),length.out=11)
col = redgreen(10)
# And now the heatmap
heatmap.2( mat,
key=FALSE,
trace="none",
ColSideColors=colorside,
cexRow=0.6,
breaks=bk1,
col=col,
sepwidth=c(0.4,0.4),
sepcolor="purple",
colsep=1:ncol(mat),
rowsep=1:nrow(mat))谢谢你的帮助。
发布于 2017-05-17 06:39:45
我不确定我完全明白你想要什么。无论如何,我的猜测是,您希望在第一列之前和第一行之上添加空间。
sepwidth定义列和行之间的空间大小,并根据向量colsep和rowsep中的值应用该空间。在您的示例中,您必须在colsep和rowsep的定义中更早地启动一个单元,如下所示:
setseed(8765) ## added for reproducibility
# Your code
library(gplots)
mat = matrix( rnorm(100), ncol=5 )
colorside = gray(1:5/5)
bk1 = seq(min(mat),max(mat),length.out=11)
col = redgreen(10)
## First call to get "hm1"
hm1 <- heatmap.2( mat,
key=FALSE,
trace="none",
ColSideColors=colorside,
cexRow=0.6,
breaks=bk1,
col=col,
sepwidth=c(0.4,0.4),
sepcolor="purple",
colsep=0:ncol(mat), ## changed
rowsep=0:nrow(mat)) ## changed
# Look at lwid and define a new one to use
hm1$layout$lwid
# [1] 1.5 4.0
my_lwid <- c(1.0, 4.5)
## call with altered lwid
hm2 <- heatmap.2( mat,
key=FALSE,
trace="none",
ColSideColors=colorside,
cexRow=0.6,
breaks=bk1,
col=col,
sepwidth=c(0.4,0.4),
sepcolor="purple",
lwid = my_lwid, ## added
colsep=0:ncol(mat),
rowsep=0:nrow(mat))
hm2$layout$lwid拜托,让我知道这是不是你想要的。
https://stackoverflow.com/questions/44016430
复制相似问题