Tutorial | Python | Clean Maps

Clean Maps in Python with Geopandas

Tricks for easy to read, production quality maps

Drew Seewald
9 min readJun 26, 2024

--

The final product map | Image by the author

While browsing LinkedIn the other day, I came across a really nice looking map tutorial that was posted by Yan Holtz. The maps were really clean, really easy to read, and built using an iterative process that I really wanted to adopt into my own map mapping processes. In this post, I’ll go through the process for creating a map like this.

My Map

For my map, I will be creating a max temp by county map using data from the National Weather Service (NWS). The data comes from NOWData — NOAA Online Weather Data. Each county’s maximum temperature from the week of 6/16/24–6/22/2024 from a weather station in each county.

To keep the map looking really clean, I want to focus on counties in Southeast Michigan. This includes Huron, Tuscola, Sanilac, Genesee, Lapeer, St. Clair, Macomb, Oakland, Livingston, Ingham, Washtenaw, Wayne, Lenawee, and Monroe counties.

Loading the Weather Data

For this iteration of the project, all data is manually gathered. This reflects the reality of how data is often gathered in the real world. It isn’t ideal for long term solutions, but it happens, it gets…

--

--