在heatmap.2
包中的gplots
函数中,如何在增加水平边栏的高度(由ColSideColors
表示)的同时减少热图中行的高度参数)?
library('gplots')
prob_matrix=replicate(100, rnorm(20))
ids=paste("patient",c(1:100),sep="_")
type_colors=sample(c("red","blue","cyan","pink","yellow","green"), length(ids), replace = TRUE, prob = NULL)
heatmap.2(prob_matrix, ColSideColors=type_colors,RowV=NULL,trace="none")
我希望ColSideColors=subtype_colors
生成的水平边栏的高度增加,而热图的行高度会减少。
对于扩展,我如何编辑每列的宽度独立我输出绘图的pdf或图形设备的宽度大小?因此,在上文中,我想要使prob_matrix
热图的列宽更大。
答案 0 :(得分:1)
我认为它硬编码到函数中。 heatmap.2
函数的回旋线196有:
if (!missing(ColSideColors)) {
if (!is.character(ColSideColors) || length(ColSideColors) !=
nc)
stop("'ColSideColors' must be a character vector of length ncol(x)")
lmat <- rbind(lmat[1, ] + 1, c(NA, 1), lmat[2, ] +
1)
lhei <- c(lhei[1], 0.2, lhei[2])
}
0.2是分配给彩条的高度。如果您复制heatmap.2
并对其进行编辑,则可以将其设置为其他内容。使用默认值0.2创建一个新参数ColSideHeight
,并将该值更改为ColSideHeight
。