Maps & visualisation

Static plots, choropleths, interactive maps, and exporting images people can use.

The same values classified two ways, producing two maps that say different things. same numbers, same colours, different breaksquantilesequal intervala patternone outlierBoth are honest, and a reader who cannot see the scheme cannot tell which they are looking at

Matplotlib draws data and knows nothing about maps. It has no concept of scale, of north, of what a colour means. GeoPandas adds one convenience — a legend derived from the column you plotted — and everything else is drawn by hand. That is the constraint this topic works within.

The decisions matter more than the code. A choropleth of counts is mostly a map of where the people are, so a rate needs a denominator you can defend. A classification scheme is a claim about the distribution, and the same numbers with different breaks produce maps that say different things — both honestly. A scale bar asserts that one length is the same everywhere on the map, which is false in EPSG:4326 and approximate in Web Mercator.

The pages run from what those decisions are, through the plots and interactive maps themselves, to the specific reasons a map comes out blank, upside down or in one colour.

Learning paths run through this topic too — see the end of this page.

🧭 Start with the concepts

The ideas the how-to guides below assume you already have.

Show every concept in this topic

⚙️ Then do the task

Step-by-step walkthroughs with code you can copy and adapt.

Show every how-to guide in this topic

🔧 When it breaks

The errors this topic produces, with the cause explained rather than just the command.

Show every fix in this topic

Related topics

Subjects that keep coming up alongside this one, most overlap first.

Keep browsing

Maps & visualisation sits in Analysis. Every topic on the site is listed on the topics index.