为什么右侧有一小部分分布图,我如何使用 R 中的 sf 包修复它?

问题描述 投票:0回答:1

我正在尝试创建北美分布图。但是地图的一小部分位于情节的右侧。结果就像屏幕截图中一样。

地图截图:
Screenshot of the map

我尝试用 sf 包将它们放在一起,但不知何故我做不到。

r maps sf
1个回答
0
投票

罪魁祸首是二战成名的阿图岛。它是阿留申群岛最西端的岛屿,位于日界线/反子午线以西。

要修复它——或者更确切地说是“修复”它,因为实际上它被映射exactly它应该在哪里——你需要将数据裁剪到西半球。

举个例子,考虑这段重现阿留申群岛不良行为的代码:

library(sf)
library(dplyr)
library(tigris)
library(ggplot2)

# the one & only USA 
states <- states() %>% 
  filter(!STUSPS %in% c('MP', 'VI', 'PR', 'GU', 'AS')) # not really states sensu stricto

ggplot(data = states) +
  geom_sf()


sf_use_s2(F) # to avoid cropping along great circles

cropped_states <- states %>% 
  sf::st_crop(c(xmin = -180, xmax = 0, ymin = 0, ymax = 180))

ggplot(data = cropped_states) +
  geom_sf()

© www.soinside.com 2019 - 2024. All rights reserved.