我正在尝试准备一张插图以提供不丹地理位置的引用。我想要一张填满方框的 map ,其中印度、中国、孟加拉国的一部分是可见的,而不是整个亚洲大陆。
我正在使用以下代码:
library(tmap); library(tidyverse)
data("World")
Asia<-World%>%filter(continent %in% c("Asia"))
Asia$isBhutan <- ifelse(Asia$name=="Bhutan", "darkorange", "grey")
tm_shape(Asia)+tm_fill("isBhutan")+tm_polygons()
我希望缩放和裁剪这张 map ,使不丹更加明显。印度、中国、孟加拉国、尼泊尔足以引用不丹的位置。我希望 map 填满方框,将不丹留在中心。
谢谢。
最佳答案
您可以使用 sf
包创建边界框。然后您可以在您的 tmap
中使用它。
例如(添加到您的代码中):
# create a bounding box on Bhutan and others
# play around with the countries to get what you want
library(sf)
bhu_bb <- st_bbox(World %>% filter(name %in% c("Bhutan", "India", "China", "Nepal")))
#new tmap with bbox
tm_shape(Asia, bbox = bhu_bb) +
tm_fill("isBhutan") +
tm_polygons()
这仍然是一个很大的区域,因为印度和中国很大,但是您也可以手动设置 bbox
坐标。
关于r - 使用 tmap 缩放和裁剪 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57735053/