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)