如何在增加水平侧杆高度的同时降低热图本身的高度?

时间:2012-10-17 12:16:59

标签: r data-visualization heatmap

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热图的列宽更大。

1 个答案:

答案 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