簡體   English   中英

如何在 R 中的 map 上插入刻度

[英]How to insert a scale on a map in R

我想知道是否可以生成等比例的附加圖像,以紅色突出顯示

library(terra)
library(geodata)
brz <- geodata::gadm("Brazil", level=2, path=".")
mun <- brz[brz$NAME_2 == "Castro", ]
plot(mun, main="", axes=FALSE)

在此處輸入圖像描述

例子:

在此處輸入圖像描述

您可以使用tm_scale_bar中的tmap將比例尺添加到 map。 此外,您可能需要sfmunSpatVector轉換為sf (tmap 可用的格式)。

library(tmap)
library(sf)

# Transform mun to sf
tm_shape(sf::st_as_sf(mun)) +
  # Draw as polygon with only borders
  tm_borders() +
  # Add scale bar
  tm_scale_bar(position = c("LEFT", "BOTTOM"))

地圖

另一種選擇是使用庫ggspatialtidyterra

library(ggspatial)
library(tidyterra)

ggplot() +
  geom_spatvector(data = mun)  +
  annotation_scale() + # add scale
  annotation_north_arrow(location = "br", which_north = "true") + # add arrow
  theme(
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    panel.border = element_blank(),
    axis.text.y=element_blank(),  #remove y axis labels
    axis.ticks.y=element_blank(),  #remove y axis ticks
    axis.text.x=element_blank(),  #remove x axis labels
    axis.ticks.x=element_blank()  #remove x axis ticks
  )

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM