2013-10-21 67 views
0

我試圖在相同的熱圖表中加入不同類型的數據。但是我需要爲每個子數據使用不同的顏色組。 下面是一個例子:熱圖如同不同數據的不同顏色組合用於不同的數據

data1 = matrix(c(1:9),nrow=3) 
color1 = colorRampPalette(c('red','blue'))(max(data1)) 
data2 = matrix(sample(c(0:1),12, replace=T),nrow=3) 
color2 = colorRampPalette(c('black','white'))(max(data2)+1) # +1 because it starts in 0 
data = cbind(data1,data2) 
# I want to join the following two images 
image(t(data1),col=color1) 
image(t(data2),col=color2) 

結果應具有第一3列(來自DATA1)在顏色紅/藍,和從第四到最後列應在黑/白。 如果有幫助,我可以將數據矩陣轉換成顏色矩陣。我嘗試了heatmap(),但似乎只使用一組顏色。 在此示例中,data1中的1應繪製爲紅色,但data2應繪製爲白色。 謝謝!

回答

2

您不能使用相同的顏色索引兩次。但是,您可以解決此通過添加適當的偏移量的data2元素和連接的數據和顏色如下:

image(t(cbind(data1,data2+length(data1)+1)), col=c(color1, color2)) 
+0

偉大的!這就是我一直在尋找的! – user31168

+0

不客氣!如果你將這個答案標記爲解決了問題,那將會很好。 :) – fotNelton