R ggmap不处理落在边界外的多边形
我有一个数据框,它有几个多边形的边界(在本例中,是美国人口普查区) 我试图用ggmap绘制这些,但当我尝试放大时,我得到了一个错误。由于这些多边形中的某些点位于ggmap边界之外,因此会将其删除(而不是考虑,但不会在绘图区域中),从而导致错误的形状 例如,以下是数据框的顶部:R ggmap不处理落在边界外的多边形,r,ggplot2,ggmap,R,Ggplot2,Ggmap,我有一个数据框,它有几个多边形的边界(在本例中,是美国人口普查区) 我试图用ggmap绘制这些,但当我尝试放大时,我得到了一个错误。由于这些多边形中的某些点位于ggmap边界之外,因此会将其删除(而不是考虑,但不会在绘图区域中),从而导致错误的形状 例如,以下是数据框的顶部: > head(tract_df) long lat order hole piece id group 1 -110.8798 32.24926 1 FALSE 1 0
> head(tract_df)
long lat order hole piece id group
1 -110.8798 32.24926 1 FALSE 1 0 0.1
2 -110.8798 32.24973 2 FALSE 1 0 0.1
3 -110.8798 32.24988 3 FALSE 1 0 0.1
4 -110.8798 32.25004 4 FALSE 1 0 0.1
5 -110.8798 32.25051 5 FALSE 1 0 0.1
6 -110.8798 32.25058 6 FALSE 1 0 0.1
当我简单地使用ggplot进行绘图时,我可以使用coord\u map()
函数很好地绘制它们:
ggplot() +
geom_polygon(data = tract_df,
aes(x = long, y = lat, group = group),
color = "black",
size = 0.10, alpha = 0.7) +
coord_map(xlim = c(-112.68, -111.44),
ylim = c(33.18, 33.83))
但是,如果我使用ggmap,它会打破这些边界:
ggmap(phoenix_map) +
geom_polygon(data = tract_df,
aes(x = long, y = lat, group = group),
color = "black",
size = 0.10, alpha = 0.7)
如果我将
coord_map
添加到ggmap绘图中,我会得到一个警告,但它可以工作。有没有一种正确的方法不会让我收到警告?有一些帖子可能与此相关,我猜ggmap正在删除超出phoenix\u map
边界框的数据ggplot2
s函数xlim
和ylim
具有此效果,因此这可能是后台发生的情况。另一方面,coord_map
的xlim
和ylim
参数应设置绘图的范围,而不会将数据放在该范围之外。考虑到所有这些,一个解决办法可能是获得一个具有更大边界框的底图,然后使用coord_map(xlim,ylim)
设置地图范围。