我正在尝试根据this教程构建“热图”。我的data.frame看起来像这样:
,结果如下:
代码:
row.names(data) <-data$X)
data<-data[,2:5]
data_matrix<-data.matrix(data)
heat_result<-heatmap(data_matrix, Rowv=NA, Colv=NA, col = heat.colors(256), scale="column", margins=c(5,10))
我的问题是:如果你看看3月份Bing和百度的data.frame(标有黄色),热图上的结果是相同的(都是强烈的红色)。我假设热图显示了几个月内特定“搜索引擎”的颜色,而不是所有其他搜索引擎。那么如何设置热图以使颜色结果相对于所有其他搜索引擎呢?我希望在3月看到红色的颜色Bing。
答案 0 :(得分:2)
您可以使用scale参数更改缩放比例。将其更改为“无”将阻止在绘制颜色之前在列上重新缩放。下面的最后一行代码就是你想要的。
https://stat.ethz.ch/R-manual/R-devel/library/stats/html/heatmap.html
set.seed(42)
#uniform sampling, b is much larger than a
a = runif(10,1,10)
b = runif(10,10,100)
data = as.matrix(cbind(a,b))
#scale across columns
heatmap(data, Rowv=NA, Colv=NA, col = heat.colors(256), scale="column", margins=c(5,10))
#color across whole dataset.
heatmap(data, Rowv=NA, Colv=NA, col = heat.colors(256), scale="none", margins=c(5,10))
图片:
这是scale =“column”:
这是scale =“none”: