正如您在下面看到的那样,在我使用ggplots制作的地图上有一个奇怪的显示问题。任何投影似乎都会发生相同的问题。
这是代码:
仅需要包maps
和ggplot2
mapWorld <- borders("world", colour="gray50", fill="black")
ggplot() + mapWorld +
coord_map("mercator") +
ylim(-90,90)
最佳答案
显然,此问题是由与0坐标相交的多边形引起的,该坐标是世界合并的地方。 R不知道如何关闭这些多边形并将其投影到世界各地。
此方法重新创建多边形,并防止它们越过0坐标(xlim和ylim)。它适用于任何类型的投影。
require(ggplot2)
require(PBSmapping)
require(data.table)
mapWorld <- map_data("world")
setnames(mapWorld, c("X","Y","PID","POS","region","subregion"))
worldmap = clipPolys(mapWorld, xlim=xlim,ylim=ylim, keepExtra=TRUE)
ggplot() + geom_polygon(data = mapWorld, aes(X,Y,group=PID))
关于r - 映射在ggplot2中可视化/显示bug?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30360830/