2012-01-02 110 views
1

我想在R中为一个数据集生成一个热图,该数据集具有很宽的取值范围。该数据集大部分包含零应被着色为白色。剩余的大部分值在1到200之间,密度递减。几个值的范围,我想提前为热图产生彩色箱,例如201和16000之间R heatmap稀疏多样的矩阵

: 0白色 1-20绿色 21-70黄 71-200橙 201- 16000红

有关于此的任何想法?

Thx!

+0

你想要统计每种颜色有多少? – Adrian 2012-01-02 19:30:49

回答

9

功能heatmap.2 in gplots内置中断定义。

library(gplots) 
x <-matrix(c(seq(0,90,10),runif(90,0,16000)),10) 
my.breaks <-c(0,1,20,70,200,16000) 
my.col=c("white","green","yellow","orange","red") 
heatmap.2(x, col = my.col, breaks=my.breaks) 
+0

完美!那正是我正在寻找的! – Rob 2012-01-02 20:00:07

1

尝试使用cut()函数创建与所需颜色相对应的因子,然后将颜色与该因子的每个值相关联。