[英]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.