SpatialPolygonsDataFrame使用ggplot绘图

时间:2013-08-11 17:30:50

标签: r ggplot2 gis shapefile maptools

我正在为大伦敦地区提供一个形状文件。我使用readShapePoly包中的maptools函数将其作为SpatialPolygonDataFrame加载到R中。

我想绘制那些多边形的情节..我已经通过在R中使用plot函数的基本已经完成了。 输出如下图所示:

enter image description here

现在,我正在尝试使用ggplot2绘制相同的形状文件,但它不适用于我。 我在图中看到一些奇怪的线,如图所示: enter image description here

我使用的代码是:

london.wards <- readShapePoly("~/TD/london_wards2013/london_wards2013.shp"
                          , proj4string=CRS(projString))
wards.count <- nrow(london.wards@data)
# assign id for each lsoa

london.wards@data$id <- 1:wards.count
wards.fort <- fortify(london.wards, region='id')
ggplot(wards.fort, aes(long, lat)) + geom_polygon(colour='black', fill='white')

其中projString是描述用于输入形状文件的投影的投影字符串。

2 个答案:

答案 0 :(得分:8)

您需要添加额外的美学group。假设多边形id被称为ID,则synatx将如下所示:

ggplot(wards.fort, aes(x = long, y = lat, group = ID)) + 
   geom_polygon(colour='black', fill='white')

答案 1 :(得分:0)

或者,最好过渡到sf软件包,该软件包通过nohup scriptname几何结构与ggplot2很好地集成在一起。

geom_sf

reprex package(v0.2.1)于2019-05-20创建