繁体   English   中英

R:居中 heatmap.2 键(gplots 包)

[英]R: Centering heatmap.2 key (gplots package)

我想通过 heatmap.2() 命令创建一个热图,其颜色键以 0 为中心(即白色 -> 0,红色 -> 大于 0,蓝色 -> 小于 0),同时保持 scale= “无”,因为我有兴趣绘制实际值的热图。 但是,在使用以下行时,我所有的热图都不以零为中心:

library(gplots)
outputHeatmap <- heatmap.2(heatmapInputActual, dendrogram="none", Rowv=FALSE,
    Colv=FALSE, col= bluered(256), scale="none", key=TRUE, density.info="none", 
    trace="none", cexRow=0.125, cexCol=0.125, symm=FALSE, symkey=TRUE)

我认为使用命令 symkey=TRUE 会起作用,但它不起作用。 我正在尝试制作热图的变量是一个 (nx 3) 数值矩阵。 上述 heatmap.2() 命令的一个有问题的输入如下:

8.408458  5.661144   0.00000000
4.620846  4.932283  -0.46570468
-4.638912 -3.471838  -0.12146109
-4.822829 -3.946024   0.06403327
3.948832  4.520447  -0.31945941

感谢您的时间。 我期待着您的回复。

解决方案似乎只是将symbreaks添加到您的heatmap.2 这是一个完全可重现的数据示例:

library(gplots)
#read your example data
heatmapInputActual <- read.table(textConnection(
"8.408458 5.661144 0.00000000
4.620846 4.932283 -0.46570468
-4.638912 -3.471838 -0.12146109
-4.822829 -3.946024 0.06403327
3.948832 4.520447 -0.31945941
"),as.is=TRUE)
#convert sample data to matrix
heatmapInputActual <- as.matrix(heatmapInputActual)
#just add symbreaks to the end of your code
heatmap.2(heatmapInputActual, dendrogram="none", Rowv=FALSE, Colv=FALSE, 
          col = bluered(256), scale="none", key=TRUE, density.info="none", 
          trace="none", cexRow=0.125, cexCol=0.125, symm=F,symkey=T,symbreaks=T)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM