Как уменьшить высоту ColSideColors в тепловой карте.2()

Мой следующий код:

library(gplots);
library(RColorBrewer);

dat <- read.table("http://pastebin.com/raw.php?i=wM7WxEvY",sep="\t",na.strings="NA",header=TRUE)
dat <- dat[complete.cases(dat),]
dat.log <- log2(dat);

# Clustering and distance function
hclustfunc <- function(x) hclust(x, method="ward")
distfunc <- function(x) dist(x,method="maximum")

# Here we cluster based on the Celltype (Column)
d <- distfunc(t(dat.log))
fit <- hclustfunc(d)
clusters <- cutree(fit, h=20)
nofclust.height <-  length(unique(as.vector(clusters)));


# Colors setting 
hmcols <- rev(redblue(256));
selcol <- colorRampPalette(brewer.pal(9,"Set1"))
clustcol.height = selcol(nofclust.height);


pdf(file="temp.pdf",width=30,height=40);
heatmap.2(as.matrix(dat.log),Colv=FALSE,lhei = c(0.25,4),ColSideColors=clustcol.height[clusters],density.info="none",scale="none",margin=c(10,10),col=hmcols,symkey=F,trace="none",dendrogram="none",keysize=1,hclust=hclustfunc,distfun=distfunc);
dev.off();

Создайте этот рисунок: введите здесь описание изображения

Обратите внимание, что ColSideColors слишком велико. Как можно сократить?


person pdubois    schedule 19.12.2013    source источник


Ответы (1)


?heatmap.2: макет для RowSideColor и ColSideColor "можно переопределить, указав соответствующие значения для lmat, lwid и lhei. lmat управляет относительным положением каждого элемента, тогда как lwid управляет шириной столбца, а lhei управляет высотой строки. См. страницу справки по макету для получения подробной информации о как использовать эти аргументы».

В вашем случае надо менять lhei, попробуйте lhei=c(1,15)

person TWL    schedule 19.12.2013
comment
Вы могли бы быть немного более конкретным, чем цитирование документации пакета. Если вы обратите внимание на OP, там уже используется lhei. Что делают, например, аргументы 1 и 15? явное изменение высоты строки также генерирует сообщения об ошибках а-ля: Error in plot.new() : figure margins too large - person posdef; 16.03.2015