Мы можем использовать пакет leaflet
.Смотрите эту ссылку, чтобы узнать, как выбрать базовую карту (https://leaflet -extras.github.io / leaflet-provider / preview / ).Здесь я использовал «Esri.WorldStreetMap», который аналогичен вашему примеру изображения.
library(leaflet)
leaflet() %>%
addProviderTiles(provider = "Esri.WorldStreetMap") %>%
setView(0, 0, zoom = 1)
В дополнение к leaflet
здесь я также представил два других пакета для создания интерактивных карт: tmap
и mapview
.
library(sf)
library(leaflet)
library(mapview)
library(tmap)
# Gett the World sf data
data("World")
# Turn on the view mode in tmap
tmap_mode("view")
# Plot World using tmap
tm_basemap("Esri.WorldStreetMap") +
tm_shape(World) +
tm_polygons(col = "continent")
# Plot world using mapview
mapview(World, map.types = "Esri.WorldStreetMap")
Обновление
Вот способ добавить текст в каждый многоугольник, используя пакет tmap
.
library(sf)
library(leaflet)
library(mapview)
library(tmap)
# Gett the World sf data
data("World")
# Turn on the view mode in tmap
tmap_mode("plot")
# Plot World using tmap
tm_basemap("Esri.WorldStreetMap") +
tm_shape(World) +
tm_polygons() +
tm_text(text = "iso_a3")
Если вам нужно использовать ggplot2
, вы можете подготовить данные в виде объекта sf
и использовать geom_sf
и geom_sf_text
в качествеследует.
library(sf)
library(tmap)
library(ggplot2)
# Gett the World sf data
data("World")
ggplot(World) +
geom_sf() +
geom_sf_text(aes(label = iso_a3))