2011-12-07 88 views
5

我想在R中製作真正的熱圖,就像天氣圖一樣,除非我的數據更簡單。R中真正的熱圖

考慮這個3D數據:

x <- c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4) 
y <- c(1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5) 
z <- rnorm(20) 

在Z是顏色。

這裏是一個離散尋找熱圖想什麼,這樣的數據: enter image description here

我怎樣才能使一個熱圖等,顏色是順利和完整的2D空間基於z充滿了平滑的色彩值。

請包括示例代碼,不只是一個鏈接,可能會更混淆我,我可能已經訪問過該網站。謝謝:)

+0

有沒有什麼方法可以在默認包中獲得此配色方案? – Rodrigo

回答

13

使用以下命令:

akimainterp

fieldsimage.plot

x <- c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4) 
y <- c(1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5) 
z <- rnorm(20) 

library(fields) 
library(akima) 

s <- interp(x,y,z) 
image.plot(s) 
+2

另一個繪圖選項是使用ggplot2中的geom_tile幾何。 –

0

fieldssmooth.2d做得很好(這是太多快於interpakima封裝更大數量的輸入點。

library(fields) 

x <- c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4) 
y <- c(1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5) 
z <- rnorm(20) 

s = smooth.2d(z, x=cbind(x,y), theta=0.5) 
image.plot(s)