2012-01-02 112 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()函數創建與所需顏色相對應的因子,然後將顏色與該因子的每個值相關聯。