Est-il possible d'avoir une couche dans ggplot qui agit comme un masque pour une couche ggmap? Here ils ont ajouté un polygone de pays au-dessus d'un ggmap.carte avec ggplot2 - créer un masque remplissant une boîte excluant un seul pays
Ce que je cherche est que le pays serait un « trou » dans une couche (alpha) qui couvre tout le pays, mais. D'une certaine manière l'inverse de l'exemple ci-dessus. Le code de cette réponse (avec transparence ajoutée et mise à jour pour utiliser geom_cartogram).
library(mapdata)
library(ggmap)
library(ggplot2)
library(ggalt)
# Get Peru map
Peru <- get_map(location = "Peru", zoom = 5, maptype="satellite")
# This is the layer I wish to put over the top
coast_map <- fortify(map("worldHires", fill = TRUE, plot = FALSE))
# Subset data for Peru
peru.coast <- subset(coast_map, region == "Peru")
# Draw a graphic
ggmap(Peru) +
geom_cartogram(data = peru.coast, map = peru.coast, aes(x = long, y = lat, map_id = region),
fill="white", color="grey", alpha=.1) +
xlim(-86, -68) +
ylim(-20, 0) +
labs(x = "Longitude", y = "Latitude") +
coord_map() +
theme_classic()
Existe-t-il un moyen de remplir tout sauf un polygone dans ggplot2?
pouvez-vous remplacer votre variable peru.coast avec '' 'sous-ensemble (coast_map, région! = "Pérou")' ''? – Nancy
merci pour la Suggestion mais non, vous prendriez toutes les données dans WorldHires, mais cela ne couvre pas les océans.Une solution de contournement pourrait être de sélectionner tous les voisins et une ocea n shapefile, mais cela peut facilement devenir complexe. Je suis vraiment à la recherche d'une approche complémentaire ou inverse. – Lod
Je ne comprends pas à quoi le résultat devrait ressembler ici - voulez-vous un trou au milieu (c'est-à-dire que le Pérou a reculé)? – lukeA