6

twoway.expr.005heatmap.2() を使用して 759*12 の二重行列をプロットしています

library(gplots)
dist2 <- function(x, ...){as.dist(1-cor(t(x), method="pearson"))}
heatmap.2(x=twoway.expr.005,col=bluered(75), main="Heatmap:759 genes\nTwosided Pval<0.05",tracecol= NULL, cexCol=0.8,cexRow=0.5,labCol=labs,distfun=dist2,scale="row",key=F,dendrogram='row',Colv=F)

しかし、私が設定しているためdendrogram='row'(列デンドログラムがオフになっています) key=F、ヒートマップを PDF として保存しようとすると、プロットのタイトルと実際のプロットの間に大きな空白が残ります。

ここに画像の説明を入力

提案に従って lhei を設定してみました。lhei=c(1,4) を使用しましたが、タイトルとプロットの間にまだ多くのスペースが表示されます。

heatmap.2(x=twoway.expr.005,col=bluered(75), main="Heatmap:759 genes\nTwosided Pval<0.05",tracecol= NULL, cexCol=0.8,cexRow=0.5,labCol=labs,distfun=dist2,scale="row",key=F,dendrogram='row',Colv=F,lhei=c(1,4))

ここに画像の説明を入力

lhei=c(1,5) を設定すると、タイトルが完全に破棄されます。

heatmap.2(x=twoway.expr.005,col=bluered(75), main="Heatmap:759 genes\nTwosided Pval<0.05",tracecol= NULL, cexCol=0.8,cexRow=0.5,labCol=labs,distfun=dist2,scale="row",key=F,dendrogram='row',Colv=F,lhei=c(1,5))

ここに画像の説明を入力

Heatmap.2 は、タイトルが常に列デンドログラムの上に配置されるように設計されていると思います。そのため、列のデンドログラムが無効になっている場合、空のスペースが残りますが、タイトルの位置は「無効な」列のデンドログラムの上にあります。タイトルが列デンドログラムの上に配置されないようにコードをハックする方法はありますか (これがこの問題の解決策になる可能性があります)。タイトルと実際のプロットの間のスペースを削除するには、他に何ができますか?

4

2 に答える 2

4

これを修正するには、heatmap.2 の lhei 引数を使用できます。プロットのレイアウトの行の相対的な高さを表す長さ 2 のベクトルを取ります。

Heatmap.2 は、レイアウト関数を使用して、プロット エリアを 4 つのブロックに分割します。基本的に、最初の高さを 2 番目の高さに対して制御する必要があります。これを行うには、lhei を c(1, 10) のような値に設定します。これにより、ヒートマップがある一番下の行が、通常は行のデンドグラムとカラーキーを持つ一番上の行の 10 倍の高さになります。

レイアウトのドキュメントに詳細があります。

于 2013-10-21T14:32:30.227 に答える