1
我試圖使用heatmap.2從矩陣製作熱圖。我的問題是我在一個循環內使用它,偶爾矩陣中的所有值都是相同的(例如,所有的值都是零),並且我收到錯誤消息:「軸中的錯誤(1,at = xv,labels = lv):沒有位置是有限的「R--試圖用矩陣製作矩陣的熱圖(矩陣中的所有值都相同)。使用熱圖2
有沒有辦法避免這種情況?
我試圖使用heatmap.2從矩陣製作熱圖。我的問題是我在一個循環內使用它,偶爾矩陣中的所有值都是相同的(例如,所有的值都是零),並且我收到錯誤消息:「軸中的錯誤(1,at = xv,labels = lv):沒有位置是有限的「R--試圖用矩陣製作矩陣的熱圖(矩陣中的所有值都相同)。使用熱圖2
有沒有辦法避免這種情況?
您可以檢查所有值是否相同,如果是這種情況,則跳過熱圖圖。
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)