2014-01-22 2 views
4

내가 문제채워진 등고선 플롯 R/ggplot/ggmap

내 데이터를 정기적으로 이격되어있다

위도/경도가 알파벳 순으로 값을 조정 R.에서 ggmap/ggplot2와지도 위에 채워진 윤곽 플롯을 플롯하는 데 문제가 있습니다 ggmap와 기본지도를받은 후 강우량

> head(flood) 
    lat  lon   rain 
1 22.51916 -105.9318 1.486188e-05 
2 22.59956 -105.9318 1.735962e-05 
3 22.67996 -105.9318 2.024598e-05 
4 22.76037 -105.9318 2.357599e-05 
5 22.84077 -105.9318 2.741153e-05 
6 22.92117 -105.9318 3.182212e-05 

를 나타내는, 나는이 나에게

0,123,516의 오류를 제공 비

map = ggmap(baseMap) + 
    geom_contour(data = flood, aes(x = lon, y = lat, z = rain)) + 
    scale_fill_continuous(name = "Rainfall (inches)", low = "yellow", high = "red") 

의 작성 윤곽을 overplot하기 위해 노력하고있어 내가

map = ggmap(baseMap) + 
    geom_contour(data = flood, aes(x = lon, y = lat, z = rain, fill = ..level..)) + 
    scale_fill_continuous(name = "Rainfall (inches)", low = "yellow", high = "red") 

을 할 경우

Error in unit(tic_pos.c, "mm") : 'x' and 'units' must have length > 0 

나는 실제 채우기없이이 음모를 얻을. enter image description here

나는 this postthis post을 따르려고 노력했지만, 난 지금 내 문제를 위해 그것을 얻을 수 없습니다. 나는 ggplot/R에 대해 많이 모른다. 그러나 나는 지금까지 그것을 통해 비틀 거릴 수 있었다. .. 레벨은 무엇을 의미합니까?

제가 생각하기에, this post이 관련되어 있을지 모르지만 윤곽 플롯에서 작동하도록 수정을 일반화 할 수는 없습니다.

답변

6

더 많은 대표 데이터 세트없이 테스트하는 것은 불가능합니다 (링크를 제공 할 수 있습니까?).

그럼에도 불구하고, 시도 :

## not tested.. 
map = ggmap(baseMap) + 
    stat_contour(data = flood, geom="polygon", 
        aes(x = lon, y = lat, z = rain, fill = ..level..)) + 
    scale_fill_continuous(name = "Rainfall (inches)", low = "yellow", high = "red") 

문제는 geom_contour이 fill=...을 존중하지 않는 것입니다. stat_contour(...)geom="polygon" ("줄"이 아닌)으로 사용해야합니다.

+0

감사합니다. 완벽하게 작동했습니다. 레벨이 어디서 왔는지, 어떻게 설정되는지 설명해 주시겠습니까? – jjardel

+3

귀하의 Z 데이터는 윤곽선을 만들기 위해 비닝됩니다 (빈당 1 개의 윤곽선). '..levels..'는 bin 번호를 나타내며, 해당 bin의 z 범위에 매핑됩니다. – jlhoward