R:删除 tmap 地图中的岛屿
R: Remove island in a tmap map
我正在尝试使用 tmap 移除岛屿。
我经常使用 lims 来移除 ggplot 中的岛屿:
library(tmap)
library(ggplot2)
library(raster)
chile <- getData("GADM",country="Chile",level=1)
ggplot()+
geom_polygon(data=chile, aes(x=long, y=lat, group = group),
color = "#666666") +
coord_equal() +
lims(x = c( -77.2,-60), y = c(-60, -15))
ggplot Chile map
但是 tmap 不允许使用 lims 和 island 从大陆干扰地图:
tm_shape(chile) +
tm_borders()
tmap Chile with islands
我将 facet 与 tmap 一起使用,因为它给我带来了更好的结果,但孤岛对我来说是个问题:
chile2= chile[c(2,4:5,7,8,12:16),]
chile2$group=1
chile3= chile[c(1,3,6,9:11),]
chile3$group=2
map_split=rbind(chile2, chile3)
tm_shape(map_split) +
tm_borders() +
tm_facets(by = "group")
tmap Chile facet
你可以看到岛屿是如何不允许获得好的面图的。
你知道如何在 tmap 地图中删除岛屿吗?
谢谢
您可以从数据集中删除不需要的区域。
library(raster)
chile <- getData("GADM",country="Chile",level=1)
xchile <- crop(chile, extent(-85,-59, -61, -14))
运行 需要一段时间,因为智利是一个相当复杂的数据集,因为它有很多岛屿
我正在尝试使用 tmap 移除岛屿。
我经常使用 lims 来移除 ggplot 中的岛屿:
library(tmap)
library(ggplot2)
library(raster)
chile <- getData("GADM",country="Chile",level=1)
ggplot()+
geom_polygon(data=chile, aes(x=long, y=lat, group = group),
color = "#666666") +
coord_equal() +
lims(x = c( -77.2,-60), y = c(-60, -15))
ggplot Chile map
但是 tmap 不允许使用 lims 和 island 从大陆干扰地图:
tm_shape(chile) +
tm_borders()
tmap Chile with islands
我将 facet 与 tmap 一起使用,因为它给我带来了更好的结果,但孤岛对我来说是个问题:
chile2= chile[c(2,4:5,7,8,12:16),]
chile2$group=1
chile3= chile[c(1,3,6,9:11),]
chile3$group=2
map_split=rbind(chile2, chile3)
tm_shape(map_split) +
tm_borders() +
tm_facets(by = "group")
tmap Chile facet
你可以看到岛屿是如何不允许获得好的面图的。
你知道如何在 tmap 地图中删除岛屿吗?
谢谢
您可以从数据集中删除不需要的区域。
library(raster)
chile <- getData("GADM",country="Chile",level=1)
xchile <- crop(chile, extent(-85,-59, -61, -14))
运行 需要一段时间,因为智利是一个相当复杂的数据集,因为它有很多岛屿