ggplot2地图中纽约州的多边形不正确

时间:2017-02-02 03:35:11

标签: r ggplot2

我正在尝试在纽约州地图上绘制数据。我正在使用map_data代码。但是,如果你看多边形,它显示了实际上不属于纽约州的额外部分?任何想法如何在地图数据上应用过滤器来删除它?

ny <- map_data("state", region="new york")
s1 <- ggplot() + geom_polygon(data=ny, aes(x=long, y=lat)) 
s2 <- ggplot() + geom_point(data=ny, aes(x=long, y=lat))
grid.arrange(s1, s2, ncol=2)

输出: geom_point显示正确的边界,但不显示多边形

1 个答案:

答案 0 :(得分:2)

状态实际上由多个未连接的多边形组成。你只需要告诉ggplot哪些点与哪些组相关。这是通过将您的数据映射到group的{​​{1}}参数来完成的。请参阅文档here,尽管如果他们有地图示例会更好。

那么你怎么知道哪些群体与哪些群体有关? aes()返回的数据框包含map_data()列。参见:

group

要正确绘制地图,请使用:

head(ny)
ny$group