tmap is an actively maintained open-source R-library for drawing thematic maps. The API is based on A Layered Grammar of Graphics and resembles the syntax of ggplot2, a popular R-library for drawing charts.

Classic World MapBubble MapBubble MapWorld facetsUS ChoroplethUS ChoroplethLondon CrimesLondon CrimesLondon CrimesLondon Crimes

See below the source code for these images.

Installation

tmap is available on CRAN. Installation is straightforward:

For Linux and macOS users who are new to working with spatial data in R, this may fail since additional (non-R) libraries are required (which are automatically installed for Windows users).

Windows No additional installation required.

Linux (Ubuntu) See https://geocompr.github.io/post/2020/installing-r-spatial-ubuntu/. Please address installation issues in this issue.

macOS See http://www.kyngchaos.com. Please address installation issues in this issue.

Development

The latest development version can be installed using devtools. In order to use the development version of tmap, it is recommended to use the development version of tmaptools as well:

library(remotes)
install_github("mtennekes/tmaptools")
install_github("mtennekes/tmap")

See NEWS for the latest features and improvements and the issue list for discussions of enhancements and bugs.

Do you want to help with the development of the package? Please let us know! Any feedback, requests, tips, or bug reports are welcome!

Usage

Reference

Tennekes, M., 2018, tmap: Thematic Maps in R, Journal of Statistical Software, 84(6), 1-39

This paper has been written for tmap 1.11-2. See the reproducible code using tmap 2.x.

Tutorials

tmap in RMarkdown

Getting help

There are two main places to get help with tmap:

  1. stackoverflow is a great source of answers to common tmap questions. It is also a great place to get help, once you have created a reproducible example that illustrates your problem. Please tag your questions with tmap.
  2. If you have a request or if think your problem is caused by a bug, please open an issue, preferably with a reproducible example.