Heatmap.2ヘルプマニュアルを数回読みました。また、さまざまなオンラインチュートリアルでは、カラーキーを別の位置に移動する方法については読みませんでした。今、私はそれが可能かどうか疑問に思っていますか?
Gplotsパッケージのheatmap.2関数を使用している場合、デフォルトで色キーは左上隅にあります。
_heatmap.2
_プロットの各要素の位置は、lmat
、lhei
、およびlwid
パラメーターを使用して制御できます。これらは_heatmap.2
_によってlayout
コマンドに次のように渡されます。
_layout(mat = lmat, widths = lwid, heights = lhei)
_
lmat
は、画面の分割方法を説明するマトリックスです。デフォルトでは、heatmap.2は画面を4つの要素グリッドに分割するため、lmat
は2x2マトリックスです。マトリックスの各要素の番号は、次の4つのプロットをプロットする順序を示します。Heatmap.2は、次の順序で要素をプロットします。
したがって、デフォルトのlmat
は次のとおりです。
_> rbind(4:3,2:1)
[,1] [,2]
[1,] 4 3
[2,] 2 1
_
たとえば、指定するヒートマップの下にキーを配置する場合:
_> lmat = rbind(c(0,3),c(2,1),c(0,4))
> lmat
[,1] [,2]
[1,] 0 3
[2,] 2 1
[3,] 0 4
_
lwid
とlhei
は、各行と列の高さと幅を指定するベクトルです。デフォルトは両方ともc(1.5,4)
です。 lmat
を変更する場合、これらも変更する必要があるか、おそらく変更する必要があります。上記の例では、他のすべての要素を同じサイズに保ちたいが、下部に薄い色のキーが必要な場合、次のように設定できます。
_>lwid = c(1.5,4)
>lhei = c(1.5,4,1)
_
これで、ヒートマップをプロットする準備ができました。
_>heatmap.2(x,...,lmat = lmat, lwid = lwid, lhei = lhei)
_
これにより、ヒートマップの上に列の樹形図、左側に行の樹形図、その下にキーが表示されたヒートマップがプロットされます。残念ながら、キーの見出しとラベルはハードコードされています。
layout
の仕組みの詳細については、_?layout
_を参照してください。
heatmap.2
のかなり長いコードでpar呼び出しによって定義された特定の領域があり、R-helpを参照することもありますが、元の作者やこれらの部分の「リバイザー」を見たことはありません。主なプロットの寸法は、2要素ベクトルmargins
によって設定されます。変更が必要になる可能性があるいくつかの場所を次に示します。
#1)
if (!missing(RowSideColors)) {
par(mar = c(margins[1], 0, 0, 0.5))
image(rbind(1:nr), col = RowSideColors[rowInd], axes = FALSE)
#2)
if (!missing(ColSideColors)) {
par(mar = c(0.5, 0, 0, margins[2]))
image(cbind(1:nc), col = ColSideColors[colInd], axes = FALSE)
#3)
par(mar = c(margins[1], 0, 0, margins[2]))
#4)
par(mar = c(margins[1], 0, 0, 0))
#5)
par(mar = c(0, 0, if (!is.null(main)) 5 else 0, margins[2]))
#6
if (key) {
par(mar = c(5, 4, 2, 1), cex = 0.75)