2013-06-04 55 views
2

我正在尋找一種方法來複制下面用R(以及可能是ggplot2)顯示的熱量表類型。具體時間軸無關緊要;任何矩形表都應該這樣做。R中的熱量表

enter image description here

我試着搜索在谷歌Heat mapHeat table,但無法找到該訣竅任何[R包。

想法?

+4

這只是的R問題,應該是在計算器上。 – John

+0

這是本論壇的焦點話題,請參閱[常見問題](http://stats.stackexchange.com/faq)。在ggplot2中這很容易,查看文檔中的geom_point示例,x和y軸的映射應該是自解釋的,您只需將某個數值變量映射爲大小,並將其他一些因素映射爲顏色。查看[這裏](http://stats.stackexchange.com/a/32014/1036)僅僅是一個例子。 –

回答

8
require(ggplot2) 
df <- data.frame(vaxis = rep(c(letters[1:5], "top"), each = 4), 
       haxis = rep(c(letters[6:8], "right"), times = 6), 
       value = rpois(24, lambda = 10)) 
df$color <- factor(ifelse(df$vaxis == "top" | df$haxis == "right", 1, 0)) 
ggplot(df, aes(x = haxis, y = vaxis, size = value, color = color)) + geom_point() 

只需以類似的格式獲取數據即可。您可以編寫一個函數,使「最高」和「最高」值的歸一化邊際總和。當然,很多微調的命名,傳說,主題是可能的,等

plot

+1

只是爲了增加這一點,如果你特別想要繪製區域外的某些點(如原始示例中的綠色區域),可以使用[this method](http://stackoverflow.com/questions/16680063 /如何-可以-I-附加一個表到我-GGPLOT2輸出)。 – zap2008