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

1,094

Version

2.2.0

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Timothée Giraud

Last Published

February 7th, 2019

Functions in cartography (2.2.0)

carto.pal

Build Cartographic Palettes
getFigDim

Get Figure Dimensions
getGridData

Compute Data for a Grid Layer
barscale

Scale Bar
nuts1.spdf

Nuts1 Regions
coasts.spdf

Coastline of Europe
dotDensityLayer

Dot Density layer
nuts2.df

Nuts2 Dataset
frame.spdf

Frame around Europe
nuts3.spdf

Nuts3 Regions
legendSquaresSymbols

Legend for Proportional Squares Maps
legendBarsSymbols

Legend for Proportional Bars Maps
legendTypo

Legend for Typology Maps
legendChoro

Legend for Choropleth Maps
countries.spdf

Countries in the European Area
discLayer

Discontinuities Layer
carto.pal.info

Display the Names of all Cartographic Palettes
cartography

Cartography Package
smoothLayer

Smooth Layer
getBorders

Extract Polygons Borders
legendCirclesSymbols

Legend for Proportional Circles Maps
propLinkLayer

Proportional Links Layer
getBreaks

Classification
legendGradLines

Legend for Graduated Size Lines Maps
labelLayer

Label Layer
north

North Arrow
nuts0.df

Nuts0 Dataset
getTiles

Get Tiles from Open Map Servers
tilesLayer

Plot Tiles from Open Map Servers
layoutLayer

Layout Layer
world.spdf

World Background
gradLinkLayer

Graduated Links Layer
nuts0.spdf

Nuts0 Regions
nuts1.df

Nuts1 Dataset
propSymbolsChoroLayer

Proportional and Choropleth Symbols Layer
propSymbolsTypoLayer

Proportional Symbols Typo Layer
propSymbolsLayer

Proportional Symbols Layer
propTrianglesLayer

Double Proportional Triangle Layer
twincities.df

Twin Cities Dataset
typoLayer

Typology Layer
display.carto.all

Display all Cartographic Palettes
getOuterBorders

Extract Polygons Outer Borders
display.carto.pal

Display one Cartographic Palette
gradLinkTypoLayer

Graduated and Colored Links Layer
getPencilLayer

Pencil Layer
graticule.spdf

Graticule around Europe
legendPropLines

Legend for Proportional Lines Maps
legendPropTriangles

Legend for Double Proportional Triangles Maps
nuts2.spdf

Nuts2 Regions
nuts3.df

Nuts3 Dataset
choroLayer

Choropleth Layer
getGridLayer

Build a Regular Grid Layer
getLinkLayer

Create a Links Layer from a Data Frame of Links.