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

标签 r heatmap

我想通过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可以工作,但是不行。我正在尝试制作热图的变量是一个(n x 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)

关于R:居中heatmap.2键(gplots包),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10048543/

相关文章:

r - 使用 NA 的时间序列填充

r - 如何从数据框中创建组合箱线图?

r - 如何在 R 中的数据框中拆分列中的因子名称?

python - 来自一组列的 Seaborn 热图?

R用聚类绘制热图,但隐藏树状图

javascript - 使用 require 的 Angular4 Highcharts TypeError

r - 在 R 或 Grass GIS 中填充栅格孔

r - Shiny - FILL 值未在 Shiny 服务器中正确传递给 ggplot - 未找到错误对象 'input'

python - 将文本标记标签添加到 pcolor 热图

r - data.table ':' 中的 nomatch 未正确更新