Title: | Extension to 'tmap' for Creating Cartograms |
---|---|
Description: | Provides new layer functions to 'tmap' for creating various types of cartograms. A cartogram is a type of thematic map in which geographic areas are resized or distorted based on a quantitative variable, such as population. The goal is to make the area sizes proportional to the selected variable while preserving geographic positions as much as possible. |
Authors: | Martijn Tennekes [aut, cre] |
Maintainer: | Martijn Tennekes <[email protected]> |
License: | GPL-3 |
Version: | 0.1 |
Built: | 2025-02-25 02:45:41 UTC |
Source: | https://github.com/r-tmap/tmap.cartogram |
Map layer that draws a cartogram. See details for types. It is recommended to specify a proper crs in [tmap::tm_shape()].
tm_cartogram( size = 1, size.scale = tmap::tm_scale(), size.legend = tmap::tm_legend_hide(), size.chart = tmap::tm_chart_none(), size.free = NA, plot.order = tmap::tm_plot_order("size", reverse = FALSE), options = opt_tm_cartogram(), ... ) tm_cartogram_ncont( size = 1, size.scale = tm_scale(), size.legend = tm_legend_hide(), size.chart = tm_chart_none(), size.free = NA, plot.order = tm_plot_order("size", reverse = FALSE), options = opt_tm_cartogram_ncont(), ... ) tm_cartogram_dorling( size = 1, size.scale = tm_scale(), size.legend = tm_legend_hide(), size.chart = tm_chart_none(), size.free = NA, plot.order = tm_plot_order("size", reverse = FALSE), options = opt_tm_cartogram_dorling(), ... ) opt_tm_cartogram(type = "cont", itermax = 15, ...) opt_tm_cartogram_ncont(type = "ncont", expansion = 1, inplace = FALSE, ...) opt_tm_cartogram_dorling(type = "dorling", share = 5, itermax = 1000, ...)
tm_cartogram( size = 1, size.scale = tmap::tm_scale(), size.legend = tmap::tm_legend_hide(), size.chart = tmap::tm_chart_none(), size.free = NA, plot.order = tmap::tm_plot_order("size", reverse = FALSE), options = opt_tm_cartogram(), ... ) tm_cartogram_ncont( size = 1, size.scale = tm_scale(), size.legend = tm_legend_hide(), size.chart = tm_chart_none(), size.free = NA, plot.order = tm_plot_order("size", reverse = FALSE), options = opt_tm_cartogram_ncont(), ... ) tm_cartogram_dorling( size = 1, size.scale = tm_scale(), size.legend = tm_legend_hide(), size.chart = tm_chart_none(), size.free = NA, plot.order = tm_plot_order("size", reverse = FALSE), options = opt_tm_cartogram_dorling(), ... ) opt_tm_cartogram(type = "cont", itermax = 15, ...) opt_tm_cartogram_ncont(type = "ncont", expansion = 1, inplace = FALSE, ...) opt_tm_cartogram_dorling(type = "dorling", share = 5, itermax = 1000, ...)
size , size.scale , size.legend , size.chart , size.free
|
Visual variable that specifies the polygon sizes. |
plot.order |
Specification in which order the spatial features are drawn. See [tmap:tm_plot_order()] for details. |
options |
passed on to the corresponding 'opt_<layer_function>' function |
... |
arguments passed on to [cartogram::cartogram_cont()] |
type |
cartogram type, one of: "cont" for contiguous cartogram, "ncont" for non-contiguous cartogram and "dorling" for Dorling cartograms |
itermax |
maximum number of iterations (see [cartogram::cartogram_cont()]) |
expansion |
factor expansion, see [cartogram::cartogram_ncont()] (argument 'k') |
inplace |
should each polygon be modified in its original place? ('TRUE' by default) |
share |
share of the bounding box filled with the larger circle (see [cartogram::cartogram_dorling()] argument 'k') |
In the contiguous cartogram polygons are distorted where the geographic relations are maintained. The algorithm by Dougenik et al. (1985) is used via [cartogram::cartogram_cont()].
In the non-contiguous cartogram polygons are resized only. The used algorithm has been proposed by Olson (1976) and implemented in [cartogram::cartogram_ncont()].
The Dorling cartogram (Dorling, 1996) generates proportional bubbles and is implemented in [cartogram::cartogram_dorling()].
a [tmap::tmap-element], supposed to be stacked after [tmap::tm_shape()] using the '+' operator. The 'opt_<layer_function>' function returns a list that should be passed on to the 'options' argument.
Dougenik, J. A., Chrisman, N. R., & Niemeyer, D. R. (1985). An Algorithm To Construct Continuous Area Cartograms. In The Professional Geographer, 37(1), 75-81.
Olson, J. M. (1976). Noncontiguous Area Cartograms. In The Professional Geographer, 28(4), 371-380.
Dorling, D. (1996). Area Cartograms: Their Use and Creation. In Concepts and Techniques in Modern Geography (CATMOG), 59.
library(tmap) Africa = World[World$continent == "Africa", ] tm_shape(Africa, crs = "+proj=robin") + tm_cartogram_ncont(size = "pop_est", options = opt_tm_cartogram_ncont()) tm_shape(Africa, crs = "+proj=robin") + tm_cartogram(size = "pop_est", options = opt_tm_cartogram(itermax = 15)) tm_shape(World, crs = "+proj=robin") + tm_polygons() + tm_cartogram_ncont(size = "pop_est", fill = "yellow")
library(tmap) Africa = World[World$continent == "Africa", ] tm_shape(Africa, crs = "+proj=robin") + tm_cartogram_ncont(size = "pop_est", options = opt_tm_cartogram_ncont()) tm_shape(Africa, crs = "+proj=robin") + tm_cartogram(size = "pop_est", options = opt_tm_cartogram(itermax = 15)) tm_shape(World, crs = "+proj=robin") + tm_polygons() + tm_cartogram_ncont(size = "pop_est", fill = "yellow")