Create legends for maps and other graphics. Thematic maps need to be accompanied by legible legends to be fully comprehensible. This package offers a wide range of legends useful for cartography, some of which may also be useful for other types of graphics.
You can install the released version of maplegend
from CRAN with:
install.packages("maplegend")
Alternatively, you can install the development version of maplegend
from GitHub (dev branch) with:
remotes::install_github("riatelab/maplegend", ref = "dev")
The main function is leg()
. Its type
argument defines the legend
type.
library(maplegend)
opar <- par(mar = c(1,1,1,1), mfrow = c(1,2))
plot.new()
plot.window(xlim = c(0, 1), ylim = c(0, 1), asp = 1)
leg(type = "prop", val = c(10, 50, 100), pos = "topleft")
leg(type = "choro", val = c(10, 20, 30, 40, 50), pos = "bottomleft")
leg(type = "typo", val = c("A", "B", "C"), pos = "top")
leg(type = "symb", val = c("A", "B", "C"), pos = "topright")
leg(type = "prop_line", val = c(5, 50, 100), pos = "bottom", lwd = 20)
leg(type = "grad_line", val = c(1, 4, 10, 15), pos = "bottomright", lwd = c(1, 5, 10))
box()
plot.new()
plot.window(xlim = c(0, 100), ylim = c(-50,50), asp = 1)
leg(type = "prop", val = c(10, 50, 100), pos = "topleft", horiz = TRUE)
leg(type = "choro", val = c(10, 20, 30, 40, 50), pos = "left", horiz = TRUE)
leg(type = "cont", val = c(10, 20, 30, 40, 50), pos = "bottomleft", horiz = TRUE)
leg(type = "cont", val = c(10, 20, 30, 40, 50), pos = c(75, 25), horiz = FALSE)
box()
It is possible to create composed legends with leg_comp()
and
leg_draw()
.
opar <- par(mar = c(1,1,1,1))
plot.new()
plot.window(xlim = c(0, 1), ylim = c(0, 1), asp = 1)
leg_comp(type = "prop", val = c(10, 50, 100)) |>
leg_comp(type = "typo", val = c("A", "B", "C")) |>
leg_draw(pos = "top", bg = "lightblue", fg = "darkblue", frame_border = NA)
box()
par(opar)
This package is primarily intended as a backend for the construction of
legends in the mapsf
package.
However, it can also be used independently from mapsf
with base
plots or even with igraph
plots.
One can contribute to the package through pull requests and report issues or ask questions here. This project uses conventional commits and semantic versioning.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.