2012-04-17 3 views
1

저는 R에 익숙하지 않으며 히트 맵 또는 밀도 맵을 만들어 내 결과를 보여줍니다. 20 개의 서로 다른 위치와 20 년간 x 데이터를 가지고 있습니다. 나는 동일한지도에서 몇 년 동안뿐만 아니라 위치에 차이를 보이려고 노력하고있다. 내 데이터는 이렇게 보입니다.히트 맵 또는 밀도 맵 in R

1975 1977 1979 1981 1983 1985 1987 1989 
Dallas 25 28 27 29 31 33 35 37 
Houston 33 38 43 48 53 58 63 68 
Lubbock 28 29 31 33 35 37 39 41 
Austin 22 24 26 28 30 32 34 36 
San Antonio 31 32 33 34 35 36 37 38 

감사합니다.

+0

참조 이러한 링크 : http://stackoverflow.com/questions/7747991/geographical-heat-map-in 아래 예 menugget에서 image.scale 기능을로드 한 후 (이다 -r http://stackoverflow.com/questions/8421536/a-true-heat-map-in-r http://stackoverflow.com/questions/10198228/heat-map-or-density-map-in-r http://stackoverflow.com/questions/8161014/custom-heat-map-in-r. 그러면 SO에서 '[r] heat map'을 검색 할 때 처음 몇 개가됩니다. –

+0

@PaulHiemstra 중복 된 것으로 보이지만, 그러면 그 대답은 그 질문들에 드문 드문 있지만, 모든 정보가 그곳에있는 것처럼 보입니다. 맞습니까? –

+0

[그림을 그릴 수 있습니다. 위 또는 아래 삼각 행렬에 대한 히트 맵] (http://stackoverflow.com/questions/6883618/plotting-a-heat-map-for-an-upper-or-lower-triangular-matrix) –

답변

3

image() 기능을 사용하면 히트 맵을 만들 수 있습니다. 색을 지정하려면 col 매개 변수를 지정하여 사용자 정의하십시오. 단지합니다 (tile geometry를 사용하여, 당신은 ggplot2를 사용하여 열 맵을 만들 수 있습니다, 또는

image(as.matrix(myVar)) 
2

: 당신이 현재 data.frame를 사용하는 경우, 당신은 행렬로 변환해야 할 수도

geom_tile). 매우 정교한 예제는 this link을 참조하십시오.

6

좋은 이미지() 유형의 플롯의 경우 축에 일부 라벨을 추가해야합니다. 또한 색상 범례는 색상 해석에 도움이됩니다. 내 블로그 http://menugget.blogspot.de/에는 이미지 눈금에이 눈금을 추가하는 기능이 있습니다.

years <- seq(1975,1989,2) 
db <- data.frame(Dallas=c(25, 28, 27, 29, 31, 33, 35, 37), 
Houston=c(33, 38, 43, 48, 53, 58, 63, 68), 
Lubbock=c(28, 29, 31, 33, 35, 37, 39, 41), 
Austin= c(22, 24, 26, 28, 30, 32, 34, 36), 
San_Antonio= c(31, 32, 33, 34, 35, 36, 37, 38) 
) 
db <- as.matrix(db) 

#plot 
layout(matrix(c(1,2), nrow=1, ncol=2), widths=c(4,1), heights=c(4)) 
layout.show(2) 
par(mar=c(5,5,1,1)) 
image(x=years, z=db, yaxt="n") 
axis(2, at=seq(0,1,,dim(db)[2]), labels=colnames(db)) 
#image.scale from http://menugget.blogspot.de/2011/08/adding-scale-to-image-plot.html 
par(mar=c(5,0,1,5)) 
image.scale(db, horiz=FALSE, yaxt="n", xaxt="n", xlab="", ylab="") 
axis(4) 
mtext("temp", side=4, line=2) 
box() 

enter image description here