The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
“World data on a map” has many honest forms. A choropleth is only the first. The package offers a full vocabulary; this vignette tours the ones that run without extra dependencies and points to the rest.
For totals, a choropleth misleads: large values hide in small countries. Sized circles at centroids are the right idiom.
The same “totals” job as bubbles, with a different overplotting trade-off: spikes only grow upward, so dense regions (Europe, the Caribbean) stay legible.
Give every country the same visual weight so micro-states are
visible. The bundled grid covers 239 countries – see
?world_tiles for the ten it omits.
Great-circle arcs between country pairs from an origin–destination table.
od <- data.frame(
from = c("China", "Germany", "Brazil", "Nigeria"),
to = c("United States", "France", "Argentina", "India"),
weight = c(500, 200, 90, 60)
)
flow_map(od, from, to, weight)facet_map() splits one choropleth into per-group panels
— the static counterpart to animate_world(), for print and
side-by-side comparison:
world_poly <- attach_geometry(snap, geometry = "polygon") |>
dplyr::filter(!is.na(continent))
facet_map(world_poly, gdp_per_capita, continent, style = "quantile", ncol = 3)Centroid-anchored labels (names, ISO codes or flag emoji), with
ggrepel collision avoidance when available.
mapdf <- attach_geometry(
dplyr::filter(snap, continent == "Europe"), geometry = "polygon"
)
world_map(mapdf, gdp_per_capita) +
geom_country_labels(repel = FALSE, size = 2.5) +
ggplot2::coord_cartesian(xlim = c(-25, 45), ylim = c(34, 72))The remaining displays follow the same one-call pattern but require optional packages, so they are shown here as code:
# Bivariate choropleth (two variables at once) — needs `biscale` + `sf`
world_data(2020, c(gdp = "NY.GDP.PCAP.KD", life = "SP.DYN.LE00.IN"),
geometry = "sf") |>
bivariate_map(gdp, life)
# Area-honest cartogram — needs `cartogram` + `sf`
world_data(2020, c(pop = "SP.POP.TOTL"), geometry = "sf") |>
cartogram_map(pop, type = "dorling")
# The same Dorling cartogram as a first-class verb, with its tuning exposed
world_data(2020, c(pop = "SP.POP.TOTL"), geometry = "sf") |>
dorling_map(pop, k = 4)
# Animated choropleth over a year panel — needs `gganimate`
world_data(2000:2020, c(gdp = "NY.GDP.PCAP.KD")) |>
animate_world(gdp)
# Interactive choropleth — needs `leaflet`, `ggiraph` or `plotly`
world_data(2020) |>
interactive_map(gdp_per_capita, engine = "plotly")Two lightweight spatial helpers that aren’t choropleths at all.
distance_between() answers “how far apart” from the bundled
country_meta centroids — no sf or network
required:
country_borders() / neighbors() answer “who
borders whom”, built from polygon topology, so they need
sf:
Each degrades gracefully: if the optional package is missing you get
a clear, actionable message (and animate_world() falls back
to a faceted small-multiple).
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.