簡體   English   中英

R-嘗試使用heatmap.2從矩陣制作熱圖(矩陣中的所有值都相同)

[英]R - trying to make a heatmap from a matrix (all the values in the matrix are the same) using heatmap.2

我試圖使用heatmap.2從矩陣制作一個熱圖。 我的問題是我在循環內使用它,有時矩陣中的所有值都是相同的(例如,所有值都是零),並且收到錯誤消息:“ Axis(1,at = xv,標簽= lv):沒有位置是有限的”

反正有避免這種情況嗎?

您可以檢查所有值是否相同,如果是這種情況,則跳過熱圖圖。

m <- matrix(...)
if(!all(m[1,1] == m){
  plot...
}

定義自己的直方圖中斷。

x <- matrix(0, nrow = 5, ncol = 5)   
datarange <- range(c(x)) + c(-0.1, 0.1)
mybreaks <- seq(datarange[1], datarange[2], length = 10)   
heatmap.2(x, breaks = mybreaks, 
          key.xtickfun=function() {
                    breaks <- parent.frame()$breaks
                    return(list(
                                at=parent.frame()$scale01(c(breaks[1],
                                  breaks[length(breaks)])),
                                labels=c(as.character(breaks[1]),
                                  as.character(breaks[length(breaks)]))
                                ))
                  })

或者,刪除顏色鍵:

heatmap.2(x, key = FALSE)

暫無
暫無

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

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