2011-12-07 3 views
5

私はRの真のヒートマップを作りたいと思っています。真のヒートマップin 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はカラーであろう。私は色が滑らかで、フル2Dスペースをzに基づいて平滑化した色で満たされていることをヒートマップは、このようなことができますどのように enter image description here

:ここ

は離散探しヒートマップは、このデータのために希望のものです値。

おそらく私を混乱させるリンクだけでなく、サンプルコードも含めてください。私は既にそのサイトにアクセスしている可能性があります。感謝:)

+0

デフォルトのパッケージでこのカラースキームを取得する方法はありますか? – Rodrigo

答えて

13

は、次を使用します。fieldsパッケージで

akimaパッケージでinterp

fieldsパッケージでimage.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

smooth.2dは良い仕事をしていません(そして、それは非常にありますinterpより速くakimaより多くの入力ポイントのパッケージ

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)