gpt4 book ai didi

r - 使用 heatmap.2 绘制单元格边框

转载 作者:行者123 更新时间:2023-12-02 22:22:11 35 4
gpt4 key购买 nike

我正在尝试使用 heatmap.2 制作热图,但没有得到单元格边框。如果我设置参数 sepwidthsepcolor 它不起作用,我必须包含 colseprowsep 参数但仍然这样做,一些单元格边框没有绘制,有什么想法吗?

heatmap.2(as.matrix(df), key=F, trace="none", ColSideColors=colorside, 
cexRow=0.6, breaks=bk1, col=colors2,
lmat=rbind(c(0,0), c(0,4), c(0,1), c(3,2), c(0,0)),
lhei=c(0.4,0.3,0.05,0.4,0.6),
sepwidth=c(0.01, 0.01), sepcolor="black",
colsep=1:length(df), rowsep=1:length(df))

最佳答案

看来您的问题出在 colseprowsep 参数上。来自帮助文件:

colsep, rowsep, sepcolor (optional) vector of integers indicating which columns or rows should be separated from the preceding columns or rows by a narrow space of color sepcolor

您的代码不是“指示应分隔哪些列或行”,而是创建一个与矩阵中元素数量一样长的向量。如果您设置了 colsep=c(1,3),则第一列和第二列之间的分隔符以及第三列和第四列之间的分隔符将被着色。我不相信有一种方法可以在不使用 colseprowsep 参数的情况下为单元格边框着色。默认情况下,不会绘制单元格边框,除非给这些参数指定了值。

# First, a reproducible data set
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.1,0.1),
sepcolor="purple",
colsep=1:ncol(mat),
rowsep=1:nrow(mat))

enter image description here

关于r - 使用 heatmap.2 绘制单元格边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21624881/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com