ggplot2以限制为中心的多边形世界地图提供有趣的边缘

Use*_*716 3 r ggplot2

使用以下代码,我生成了以华盛顿特区为中心的地图。解决方案基于 kohske的解决方案。我已经改变geom_pathgeom_polygon我想要的颜色的国家。

一切都很好,直到我要添加scale_x_continuous(注释,以便您可以看到它被排除在外时没有问题),这使南极洲和中国看起来非常奇怪,我想是因为多边形已经被修剪了吗?

在此处输入图片说明

是否有已知的解决方法?感谢帮助。

library(maps)
library(maptools)
library(ggplot2)

home_country_longitude <- -77.03

mp1 <- fortify(map(fill=TRUE, plot=FALSE))
mp2 <- mp1

mp2$long <- mp2$long + 360
mp2$group <- mp2$group + max(mp2$group) + 1

mp <- rbind(mp1, mp2)

if(home_country_longitude < 0){
  mp$long <- mp$long - (360 + home_country_longitude)
} else {
  mp$long <- mp$long + home_country_longitude
}

ggplot() + 
  geom_polygon(aes(x = long, y = lat, group = group), data = mp) +
  #scale_x_continuous(limits = c(-180, 180)) +
  theme(panel.background = element_rect(fill = "#090D2A"),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())
Run Code Online (Sandbox Code Playgroud)

Lyn*_*akr 5

coord_map像这样使用。这里有完整的解释。

ggplot() + 
  geom_polygon(aes(x = long, y = lat, group = group), data = mp) +
  coord_map(xlim = c(-180, 180)) +
  theme(panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明