Learn R Programming

cartography

Consider mapsf

There are no plans for new features or enhancements in cartography. Basic maintenance and support will continue indefinitely. Existing projects that use cartography can safely continue to use cartography. The mapsf R package is the successor of cartography and it is friendlier, lighter and more robust. See mapsf vignette or this blog post to migrate from cartography to mapsf.

Create and integrate maps in your R workflow!

This package helps to design cartographic representations such as proportional symbols, choropleth, typology, flows or discontinuities maps. It also offers several features that improve the graphic presentation of maps, for instance, map palettes, layout elements (scale, north arrow, title...), labels or legends.

Demo

The following script creates a map of symbols that are proportional to values of a first variable and colored to reflect the classification of a second variable.

library(sf)
library(cartography)
# path to the geopackage file embedded in cartography
path_to_file <- system.file("gpkg/mtq.gpkg", package="cartography")
# import to an sf object
mtq <- st_read(dsn = path_to_file, quiet = TRUE)

########## Draft Map
# Plot the municipalities
plot(st_geometry(mtq))
# Plot symbols with choropleth coloration (population & median income)
propSymbolsChoroLayer(x = mtq, var = "POP", var2 = "MED")
# Add a layout
title(main = "Population & Wealth in Martinique, 2015", 
      sub = "Sources: Insee and IGN - 2018")

########## Final Map
# Set figure margins
opar <- par(mar = c(0,0,1.2,0))
# Plot the municipalities
plot(st_geometry(mtq), col="darkseagreen3", border="darkseagreen4",  
     bg = "lightblue1", lwd = 0.5)
# Plot symbols with choropleth coloration
propSymbolsChoroLayer(x = mtq, var = "POP", inches = 0.4, border = "grey50",
                      lwd = 1, legend.var.pos = "topright", 
                      legend.var.title.txt = "Population",
                      var2 = "MED", method = "equal", nclass = 4, 
                      col = carto.pal(pal1 = "sand.pal", n1 = 4),
                      legend.var2.values.rnd = -2,  legend.var2.pos = "left", 
                      legend.var2.title.txt = "Median Income\n(in euros)") 
# Plot a layout
layoutLayer(title="Population & Wealth in Martinique, 2015", 
            author = "cartography 2.1.3", 
            sources = "Sources: Insee and IGN - 2018", 
            scale = 5, tabtitle = TRUE, frame = FALSE)
# Plot a north arrow
north(pos = "topleft")
# restore graphics parameters
par(opar)

Installation

  • Development version on GitHub
remotes::install_github("riatelab/cartography")
  • Stable version on CRAN
install.packages("cartography")

Alternatives

Community Guidelines

One can contribute to the package through pull requests and report issues or ask questions here.


To cite package cartography in publications use one of these:

Copy Link

Version

Install

install.packages('cartography')

Monthly Downloads

1,743

Version

3.1.4

License

GPL-3

Issues

Pull Requests

Stars

Forks

Last Published

September 14th, 2023

Functions in cartography (3.1.4)

ghostLayer

Plot a Ghost Layer
gradLinkTypoLayer

Graduated and Colored Links Layer
labelLayer

Label Layer
legendBarsSymbols

Legend for Proportional Bars Maps
legendPropLines

Legend for Proportional Lines Maps
hatchedLayer

Hatched Layer
legendGradLines

Legend for Graduated Size Lines Maps
legendChoro

Legend for Choropleth Maps
layoutLayer

Layout Layer
graticule.spdf

Graticule around Europe
legendHatched

Legend for Hatched Maps
legendCirclesSymbols

Legend for Proportional Circles Maps
legendSquaresSymbols

Legend for Proportional Squares Maps
nuts0.spdf

Nuts0 Regions
legendWaffle

Legend for Typology Maps
legendPropTriangles

Legend for Double Proportional Triangles Maps
legendTypo

Legend for Typology Maps
north

North Arrow
nuts1.df

Nuts1 Dataset
nuts0.df

Nuts0 Dataset
nuts2.df

Nuts2 Dataset
nuts1.spdf

Nuts1 Regions
propSymbolsTypoLayer

Proportional Symbols Typo Layer
nuts2.spdf

Nuts2 Regions
propLinkLayer

Proportional Links Layer
nuts3.spdf

Nuts3 Regions
smoothLayer

Smooth Layer
tilesLayer

Plot a Raster Object
nuts3.df

Nuts3 Dataset
typoLayer

Typology Layer
twincities.df

Twin Cities Dataset
propTrianglesLayer

Double Proportional Triangle Layer
waffleLayer

Waffle Layer
wordcloudLayer

Wordcloud Layer
propSymbolsChoroLayer

Proportional and Choropleth Symbols Layer
propSymbolsLayer

Proportional Symbols Layer
world.spdf

World Background
choroLayer

Choropleth Layer
getBorders

Extract Polygons Borders
coasts.spdf

Coastline of Europe
barscale

Scale Bar
carto.pal

Build Cartographic Palettes
dotDensityLayer

Dot Density Layer
discLayer

Discontinuities Layer
countries.spdf

Countries in the European Area
frame.spdf

Frame around Europe
cartography

Cartography Package
getTiles

Defunct Get Tiles from Open Map Servers
gradLinkLayer

Graduated Links Layer
getPencilLayer

Pencil Layer
getBreaks

Classification
getFigDim

Get Figure Dimensions
getGridLayer

Build a Regular Grid Layer
getLinkLayer

Create a Links Layer from a Data Frame of Links.
getPngLayer

.png Layer