Learn R Programming

⚠️There's a newer version (3.1.4) of this package.Take me there.

cartography

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.

Cheat Sheet

The cheat sheet displays a quick overview of cartography's main features.

Vignette

The vignette contains commented scripts on how to build various types of maps with cartography:

Other Resources

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
require(remotes)
install_github("riatelab/cartography")
  • Stable version on CRAN
install.packages("cartography")

Alternatives Packages

Community Guidelines

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

Copy Link

Version

Install

install.packages('cartography')

Monthly Downloads

2,011

Version

2.2.1

License

GPL-3

Issues

Pull Requests

Stars

Forks

Last Published

September 27th, 2019

Functions in cartography (2.2.1)

getFigDim

Get Figure Dimensions
getGridLayer

Build a Regular Grid Layer
getLinkLayer

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

Legend for Proportional Bars Maps
frame.spdf

Frame around Europe
legendChoro

Legend for Choropleth Maps
dotDensityLayer

Dot Density layer
getBreaks

Classification
labelLayer

Label Layer
layoutLayer

Layout Layer
getBorders

Extract Polygons Borders
getTiles

Get Tiles from Open Map Servers
gradLinkLayer

Graduated Links Layer
display.carto.pal

Display one Cartographic Palette
getOuterBorders

Extract Polygons Outer Borders
legendPropLines

Legend for Proportional Lines Maps
gradLinkTypoLayer

Graduated and Colored Links Layer
getGridData

Compute Data for a Grid Layer
getPencilLayer

Pencil Layer
legendTypo

Legend for Typology Maps
legendSquaresSymbols

Legend for Proportional Squares Maps
tilesLayer

Plot Tiles from Open Map Servers
smoothLayer

Smooth Layer
nuts2.spdf

Nuts2 Regions
nuts3.df

Nuts3 Dataset
legendPropTriangles

Legend for Double Proportional Triangles Maps
propSymbolsChoroLayer

Proportional and Choropleth Symbols Layer
nuts0.df

Nuts0 Dataset
north

North Arrow
legendCirclesSymbols

Legend for Proportional Circles Maps
legendGradLines

Legend for Graduated Size Lines Maps
nuts1.spdf

Nuts1 Regions
graticule.spdf

Graticule around Europe
nuts0.spdf

Nuts0 Regions
nuts1.df

Nuts1 Dataset
propSymbolsLayer

Proportional Symbols Layer
nuts2.df

Nuts2 Dataset
propLinkLayer

Proportional Links Layer
nuts3.spdf

Nuts3 Regions
world.spdf

World Background
propTrianglesLayer

Double Proportional Triangle Layer
propSymbolsTypoLayer

Proportional Symbols Typo Layer
typoLayer

Typology Layer
twincities.df

Twin Cities Dataset
countries.spdf

Countries in the European Area
barscale

Scale Bar
cartography

Cartography Package
coasts.spdf

Coastline of Europe
display.carto.all

Display all Cartographic Palettes
discLayer

Discontinuities Layer
carto.pal.info

Display the Names of all Cartographic Palettes
choroLayer

Choropleth Layer
carto.pal

Build Cartographic Palettes