首页 > 解决方案 > 在基础 R 中翻转热图的颜色范围

问题描述

我正在基础 R 中构建一个简单的热图。这是我的矩阵:

stleft = matrix( 
     c(0,5,5,2,6,8,4,6,9), 
     nrow=3, 
     ncol=3) 
colnames(stleft) <- c("Narrow","Wide", "Wider")
rownames(stleft) <- c("Person", "Object","Bare")
stleft

矩阵如下所示:

> stleft
       Narrow Wide Wider
Person      0    2     4
Object      5    6     6
Bare        5    8     9

要构建热图,我只需运行:

heatmap(stleft, Colv = NA, Rowv = NA, scale = "none")

热图

如您所见,“0”(对应于窄/人单元格)显示为深红色,而“9”(对应于较宽/裸单元格)显示为浅黄色。

标签: rcolorsheatmap

解决方案


heatmap()(and image()) 用于heat.colors()默认生成颜色。如果需要,您可以提供自己的颜色,f.ex。通过使用heat.colors(), 刚好相反。

par(oma=c(3, 0, 0, 3))
col <- rev(heat.colors(999))
heatmap(stleft, Colv = NA, Rowv = NA, scale = "none", col = col)

在此处输入图像描述


推荐阅读