簡體   English   中英

如何更改heatmap.2中的顏色鍵值?

[英]How to change the color key value in heatmap.2?

在此處輸入圖片說明

如上面的屏幕截圖所示,我在這里使用了函數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)

非常感謝 :-)

自@BondedDust 回答以來,函數 heatmap.2 可能已經改變,但現在可以通過以下方式輕松更改 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")

鑰匙截圖后

它是硬編碼的。 您需要在代碼中更改它。 它出現在繪制關鍵點的部分的中間,線是:

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

這是 heatmap.2 代碼中創建密鑰的部分(至少直到出現“Value”一詞為止):

 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 <-並粘貼代碼並按回車鍵。 (除非您保存它,否則它只會在會話繼續時持續存在。)

最近剛遇到同樣的任務。 現在有一個選項“key.title”來設置刻度入口的標題:

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

在此處輸入圖片說明

不幸的是,如果入口中沒有直方圖,它就不能正確傳播:

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

在此處輸入圖片說明

好吧,key.xlab 按預期工作,可以代替使用。

我已經檢查了 github 上的源代碼,它已經在那里修復了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM