繁体   English   中英

r heatmap.2 colsep作为矢量

[英]r heatmap.2 colsep as vector

我想使用heatmap.2()绘制一个热图,在其中我要用几种不同的颜色定义colseps。
我已经尝试通过串联指定sepcolor:

heatmap.2 (as.matrix(order_by27_T[rowsToDraw,]), Rowv=FALSE, Colv=FALSE,               dendrogram="none", col=hmColors, breaks=seq(0,1,(1/120)), trace="none", colsep=c(60,120,180), sepcolor=c("white","pink","green"))      

此外,我尝试创建一个字符向量,以所需的顺序指定所需的颜色,并将此向量分配给sepcolor:

sepColour<-c("white","pink","green")
heatmap.2 (as.matrix(order_by27_T[rowsToDraw,]), Rowv=FALSE, Colv=FALSE, dendrogram="none", col=hmColors, breaks=seq(0,1,(1/120)), trace="none", colsep=c(60,120,180), sepcolor=sepColour)      

在这两种情况下,所有定义的分隔符都是绿色(向量的最后一个元素)。
我正在尝试做的事情有可能吗?

提前致谢

colsep参数采用一个数字向量,该数字指示各列是否应由彩色空间分隔。 从文档中:

(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

在您的示例中,这将类似于:

heatmap.2(as.matrix(order_by27_T[rowsToDraw,]), colsep=1:5,
     sepcolor=c("red", "blue"), ....)

这将用redblue将第1至5列分开


万一您只想指定自定义调色板(而不是您要的调色板),下面是一些代码:

full = matrix(runif(100, -5, 5), ncol= 10)
my_p = colorRampPalette(c("white","pink","green"))
breaks = c(seq(min(full), 0, length.out=128),
           seq(0, max(full), length.out=128))
heatmap.2(full, dendrogram="row", Colv=FALSE,
          col=my_p, key=TRUE, 
          breaks=breaks, symkey=FALSE, density.info="none",
          trace="none", cexRow=0.5, cexCol=0.75)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM