In cartography
several functions have a pos
or legend.pos
argument. These arguments can take the following values: “topleft”, “top”, “topright”, “right”, “bottomright”, “bottom”, “bottomleft”, “bottomleftextra”, “left” or a vector of two coordinates in map units (c(x, y)).
The posibility to use a vector of coordinates is useful for placing an element at a precise location:
library(sf) library(cartography) mtq <- st_read(system.file("gpkg/mtq.gpkg", package="cartography")) png("poslegend1.png", width = 474, height = 555) par(mar = c(0,0,0,0)) plot(st_geometry(mtq)) # precise location of the bottomleft corner of the legend legpos <- c(717200, 1637100) points(x = legpos[1], y = legpos[2], pch = 4) propSymbolsLayer(x = mtq, var = "POP", legend.pos = legpos) dev.off()
The locator()
function allows users of an interactive R session to click on a graphic device to obtain coordinates of the cursor in the device’s coordinate reference system:
One can take advantage of this function to interactively position legends and layout elements on a map with cartography
using unlist(locator(1))
as input for pos
or legend.pos
:
OpenEdition vous propose de citer ce billet de la manière suivante :
Timothée Giraud (28 février 2020). How to interactively position legends and layout elements on a map with cartography. R Géomatique. Consulté le 9 décembre 2024 à l’adresse https://doi.org/10.58079/tp4k
Bonjour,
je vous remercie de mettre ces contenue a notre disposition.
Je suis étudiant M2 Géomatique Paris 8, donc je vous ai eu en cours “cartographie avec R”.
J’ai un soucis, je voudrais éditer une carte choropleth, tout en faisant figurer les enlacements pour lesquelles il n’y a pas d’information. (no data) et faire apparaitre ceci dans la légende. pouvez vous m’aidez. S’il vous plait…?
Bonjour,
Si la variable que vous représentez contient des données manquantes (NA) alors une catégorie “no data” apparaîtra automatiquement sur la carte et dans la légende.
Un exemple ici : https://gist.github.com/rCarto/cd6892c410b89dd29ac822c2c019112b