Lesson 6 Overview

This lesson we will focus on learning how to create beautiful maps in Python with different levels of interactivity and modes of presentation.

  1. Static maps

  2. Interactive maps with bokeh

  3. Interactive Leaflet maps with Folium

  4. Examples

There are many different Python modules that can be used for making visualizations. And many of them allows you to create also different kinds of maps. During this lesson we will focus on few of them, namely:

  • Matplotlib (static maps, integrated into Geopandas and Matplotlib)

  • Geoplot (static maps for specific use cases, based on Matplotlib)

  • EarthPy (additional support for better raster data maps, based on Matplotlib)

  • Bokeh (interactive plots)

  • GeoViews (interactive maps based on Bokeh, can also make static maps with support of Matplotlib)

  • Folium (interactive Web maps on Leaflet)

In addition to these modules, there are also several good and interesting other modules for making maps or that support making in maps under the hood. We mention them if you like to investigate more by yourself later on:

Learning goals

After this lessons lesson you should be able to (at least):

  • Create a static map using Geopandas (using the integrated matplotlib module)

  • Create customised static maps integrating raster data and/or specific cartographic methods

  • Create simple interactive maps using Bokeh

  • Create interactive web maps using Folium (using the LeafletJS JavaScript web map library).


Following materials are partly based on documentation of Geopandas, Matplotlib, Geoplot, - EarthPy, Bokeh, GeoViews and Folium.

The lesson reuses materials from Henrikki Tenkanen from the University of Helsinki, under CC-BY-SA from from AutoGIS GitHub repository.