基本R

时间:2019-05-12 17:53:12

标签: r colors heatmap

我正在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")

heatmap

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

  • 如何“翻转”此范围,以使“ 0”以浅色显示,而“ 9”以深色显示?

  • 为什么图像被截断?它在RStudio图面板中显示为被截断,并且被保存为截断。我试图将R Studio中的绘图面板放大无济于事。

1 个答案:

答案 0 :(得分:0)

heatmap()(和image())默认使用heat.colors()生成颜色。您可以根据需要提供自己的颜色,例如。通过使用heat.colors(),只需反转即可。

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

enter image description here