library(gplots)
shades= c(seq(-1,0.8,length=64),seq(0.8,1.2,length=64),seq(1.2,3,length=64))
heatmap.2(cor_mat, dendrogram='none', Rowv=FALSE, Colv=FALSE, col=redblue(64),
breaks=shades, key=TRUE, cexCol=0.7, cexRow=1, keysize=1)
休息时有一些问题。希望得到帮助。
运行代码后,我收到此错误消息
Error in image.default(1:nc, 1:nr, x, xlim = 0.5 + c(0, nc), ylim = 0.5 + : must have one more break than colour
感谢您的时间和考虑。
答案 0 :(得分:3)
好吧,我们没有cor_mat,所以我们不能自己尝试,但问题似乎是它在锡上说的,不是吗?热图(以及通常基于图像的所有函数)与中断和颜色矢量一起工作的方式是,中断定义了数据矩阵值的变化意味着颜色变化的点。简而言之,如果break = c(1,2,3)
和您的col = c("red", "blue")
:
您的代码中发生的事情是,使用'shade',您向break
提供了长度为3 * 64的向量,而redblue(64)
仅提供了64种颜色。尝试将redblue(64)
替换为redblue(3*64-1)
。