2012-05-29 102 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