Welcome to ClientVPS Mirrors

Mapping population data

Mapping population data

2026-01-07

Here are a few quick examples to illustrate how you can use the {aopdata} package to map the spatial distribution of population in Brazilian cities.

# load libraries
library(aopdata)
library(data.table)
library(ggplot2)
library(sf)
library(scales)

Download population data

df <- aopdata::read_population(
  city = 'Fortaleza',
  year = 2010,
  geometry = TRUE,
  showProgress = FALSE
  )
#> Downloading population data for the year 2010

Map total population

ggplot() +
  geom_sf(data=subset(df, P001>0), aes(fill=P001), color=NA, alpha=.8) +
  scale_fill_distiller(palette = "YlOrRd", direction = 1)+
  labs(title='Population distribution', fill="Total population") +
  theme_void()

Map population by income levels

Here, we map the spatial distribution population by income decile (column R003).

ggplot() +
  geom_sf(data=subset(df, !is.na(R002)), aes(fill=factor(R003)), color=NA, alpha=.8) +
  scale_fill_brewer(palette = "RdBu") +
  labs(title='Average household income per capita', fill="Income decile") +
  theme_void()

Map population by race

Here, we map the spatial distribution of the black population.

df$prop_black <- df$P003 / df$P001
  
ggplot() +
  geom_sf(data=subset(df, P001 >0), aes(fill=prop_black), color=NA, alpha=.8) +
  scale_fill_distiller(palette = "RdPu", direction = 1, labels = percent)+
  labs(title='Proportion of black population', fill="Black population") +
  theme_void()

Need a high-speed mirror for your open-source project?
Contact our mirror admin team at info@clientvps.com.

This archive is provided as a free public service to the community.
Proudly supported by infrastructure from VPSPulse , RxServers , BuyNumber , UnitVPS , OffshoreName and secure payment technology by ArionPay.