2012-05-29 103 views
2

我希望有多個地圖顯示在新西蘭奧克蘭的點值。問題是我有一個背景shapefile(land)來爲地圖添加背景細節,這意味着自由比例x y可以縮放到整個奧克蘭地區而不是點的空間範圍。facet_wrap和縮放軸使用ggplot2,r

所以我的問題是:如何實現基於點層的變化空間範圍,並讓facet_wrap忽略其他層?

下面是當前的代碼:

map1 <- ggplot(walk, 
      aes(x=coords.x1, y=coords.x2, colour=UD_TOTAL, size=UD_TOTAL) 
      ) + 
     scale_colour_gradient(low="#003300", high="#00FF00", space="rgb") + 
     opts(panel.background=theme_rect(fill="#404040", colour = "#404040")) + 
     quiet + 
     pland + 
     geom_point() + 
     facet_wrap(~School2, ncol=3, scales='free') 

map1 

注:此圖是模仿http://spatialanalysis.co.uk/2012/02/great-maps-ggplot2/

初學者試圖所以很遺憾我不能發表圖片。

+0

是否有可能加入'school2'信息到其他數據(背景等)? – mnel

+0

謝謝你的想法。在夏洛特向我建議annotation_map之前,我沒有考慮嘗試這個方法,但是我正在考慮按照這些方法嘗試一些東西。 –

回答

2

感謝來自Charlotte Wickham的建議,我發現了facet wrap忽略的新特性'annotation_map'。我沒有在我的研究中發現它,但發現在這裏:http://cran.r-project.org/web/packages/ggplot2/ggplot2.pdf

更新的代碼是:

map1 <- ggplot(walk2, 
     aes(x=coords.x1, y=coords.x2, colour=UD_TOTAL, size=UD_TOTAL)) + 
     scale_colour_gradient(low="#003300", high="#00FF00", space="rgb") + 
     opts(panel.background=theme_rect(fill="#404040", colour = "#404040")) + 
     annotation_map(BuiltEnv, fill="#4F4F4F", colour="#4F4F4F") + 
     geom_point() + 
     facet_wrap(~School2, ncol=3, scales='free') + 
     coord_map(project="mercator") 
map1