4

ここに画像の説明を入力

上のスクリーンショットが示すように、ここで関数を使用しheatmap.2()ました。

色分けされたバーの「値」を他の名前に変更するにはどうすればよいですか?

gplots パッケージのデータをそのまま使用できます。

 library(gplots)

 data(mtcars)

 x  <- as.matrix(mtcars)

 rc <- rainbow(nrow(x), start=0, end=.3)

 cc <- rainbow(ncol(x), start=0, end=.3)

 heatmap.2(x, key=TRUE)

どうもありがとう :-)

4

3 に答える 3

11

関数 heatmap.2 は @BondedDust が回答してから変更された可能性がありますが、次の方法で heatmap.2 キー ラベルを簡単に変更できるようになりました。

key.xlab="New value"

まず、上記のコード(標準色を使用):

library(gplots)
data(mtcars)
x  <- as.matrix(mtcars)
heatmap.2(x,key=TRUE)

キーのスクリーンショットの前

x と y のラベルを置き換えます。

library(gplots)
data(mtcars)
x  <- as.matrix(mtcars)
heatmap.2(x, key=TRUE , key.xlab="New value", key.ylab="New count")

キーのスクリーンショット後

于 2014-12-24T19:39:56.370 に答える
2

ハードコードされています。コード内で変更する必要があります。キーを描画するセクションのほぼ中間に表示され、線は次のとおりです。

else mtext(side = 1, "Value", line = 2)

これは、キーを作成する heatmap.2 コードのセクションです (少なくとも「値」という単語が表示されるポイントまで)。

 if (key) {
        par(mar = c(5, 4, 2, 1), cex = 0.75)
        tmpbreaks <- breaks
        if (symkey) {
            max.raw <- max(abs(c(x, breaks)), na.rm = TRUE)
            min.raw <- -max.raw
            tmpbreaks[1] <- -max(abs(x), na.rm = TRUE)
            tmpbreaks[length(tmpbreaks)] <- max(abs(x), na.rm = TRUE)
        }
        else {
            min.raw <- min(x, na.rm = TRUE)
            max.raw <- max(x, na.rm = TRUE)
        }
        z <- seq(min.raw, max.raw, length = length(col))
        image(z = matrix(z, ncol = 1), col = col, breaks = tmpbreaks, 
            xaxt = "n", yaxt = "n")
        par(usr = c(0, 1, 0, 1))
        lv <- pretty(breaks)
        xv <- scale01(as.numeric(lv), min.raw, max.raw)
        axis(1, at = xv, labels = lv)
        if (scale == "row") 
            mtext(side = 1, "Row Z-Score", line = 2)
        else if (scale == "column") 
            mtext(side = 1, "Column Z-Score", line = 2)
        else mtext(side = 1, "Value", line = 2)
 .... lots more code below

と入力heatmap.2し、ソース コードをエディタにコピーしてから、検索機能を使用して「値」を見つけてください。「値」を別のもの (引用符で囲む) に変更heatmap.2 <-し、コードを入力して貼り付け、リターンを押します。(これを保存しない限り、セッションが継続している間のみ保持されます。)

于 2012-10-24T21:41:42.513 に答える