10

左側のY軸ラベルを使用してヒートマップを作成するにはどうすればよいですか?デフォルトは右側のようです。を使用してカスタム軸を作成する必要がありaxis()ますか?

4

1 に答える 1

9

このheatmap関数では、軸の位置がハードコーディングされています。ただし、1つの番号だけを変更して、反対側に配置するのは非常に簡単です。コンソールで「heatmap」と入力し、2番目のaxis()呼び出しで最初の引数を4から2に変更します。

私が変更したのは:

axis(2, iy, labels = labRow, las = 2, line = -0.5, tick = 0,  # the 2 used to be 4
         cex.axis = cexRow)

スイッチに対応するために、マージンを変更する必要があります。現在の値を0から5に変更すると、ヘルプページから遊んでいた例では十分なスペースが作成されたようです。

...
par(mar = c(margins[1L], 5, 0, margins[2L]))

これは私のテストケースでした:

x  <- as.matrix(mtcars)
rc <- rainbow(nrow(x), start=0, end=.3)
cc <- rainbow(ncol(x), start=0, end=.3)
utils::str(hv) # the two re-ordering index vectors

## no  dendrogram (nor color strip)
heatmap.new(x, Colv = NA, Rowv=NA, col = cm.colors(256), scale="column",
        margins=c(5,2),
        xlab = "specification variables", ylab= "Car Models",
        main = "heatmap(<Mtcars data>, ..., scale = \"column\")")
于 2011-09-02T18:09:39.577 に答える