Choropleths: Mapping data over space

Working with Geospatial Data in Python

Dani Arribas-Bel

Geographic Data Science Lab (University of Liverpool)

Choropleths

countries.plot(column='gdp_per_cap', legend=True)

Working with Geospatial Data in Python

Choropleths

Specifying a column:

locations.plot(column='variable')

Choropleth with classification scheme:

locations.plot(column='variable', scheme='quantiles', k=7, cmap='viridis')

Key choices:

  • Number of classes (k)
  • Classification algorithm (scheme)
  • Color palette (cmap)
Working with Geospatial Data in Python

Number of classes ("k")

locations.plot(column='variable', scheme='Quantiles', k=7, cmap='viridis')

Choropleths necessarily imply information loss (but that's OK)

Tension between:

  • Maintaining detail and granularity from original values (higher k)
  • Abstracting information so it is easier to process and interpret (lower k)

Rule of thumb: 3 to 12 classes or "bins"

Working with Geospatial Data in Python

Classiffication algorithms ("scheme")

locations.plot(column='variable', scheme='quantiles', k=7, cmap='viridis')

How do we allocate every value in our variable into one of the k groups?

Two (common) approaches for continuous variables:

  • Equal Intervals ('equal_interval')
  • Quantiles ('quantiles')
Working with Geospatial Data in Python

Equal Intervals

locations.plot(column='variable', scheme='equal_interval', k=7, cmap='Purples')

l04_equal_interval.png

Working with Geospatial Data in Python

Quantiles

locations.plot(column='variable', scheme='quantiles', k=7, cmap='Purples')

l04_quantiles.png

Working with Geospatial Data in Python

Color

Categories, non-ordered

locations.plot(column='variable', 
               categorical=True, cmap='Purples')

Graduated, sequential

locations.plot(column='variable', 
               k=5, cmap='RdPu')

Graduated, divergent

locations.plot(column='variable', 
               k=5, cmap='RdYlGn')

pastel5.png

l04_pal_seq.png

l04_pal_div.png

IMPORTANT: Align with your purpose

Working with Geospatial Data in Python

Let's practice!

Working with Geospatial Data in Python

Preparing Video For Download...