Effectively using matplotlib
09-03, 11:00–12:30 (UTC), Track 3 (Oteiza)

It can sometimes be difficult and frustrating to know how to achieve a desired plot. – Have you made this experience as well? Then this tutorial is for you. It will make you more effective and help you generate better looking plots.

Matplotlib is one of the most-used and powerful visualization libraries for python. Nevertheless, there has been and still is some confusion on how use it properly. This has a number of reasons ranging from an evolution of the API and lack of good documentation to the complexity that comes with the large feature set and flexibility. But these issues can be overcome.

This tutorial will explain the main concepts and intended usage patterns of matplotlib. Knowing these, lets you effectively use high-level functions for most of the cases. But you will be able to go into the details if you need to fine-tune certain aspects of the plot. We'll also touch some nowadays discouraged ways of working from the past (you should know what not to do - even though that's still found in lots of examples on the web) and we may get a glimpse into the future.

Tim Hoffmann joined the matplotlib core development team almost two years ago with the mission to make matplotlib easier to use.

Requirements and set up instructions:
Jupyter plus any recent (>=3.0) matplotlib version will do. To be on the safe side, you may set up a new conda environment using conda create -n using-mpl matplotlib>=3 jupyterlab pandas ipympl.
Link to tutorial notebook will be posted here soon.

Project Homepage / Git


Abstract as a tweet

Have you ever been frustrated with matplotlib? - This tutorial may cure it.

Python Skill Level


Domain Expertise



Data Visualisation

Tim Hoffmann has been involved in several open source projects over time. Almost two years ago, he joined the matplotlib core development team with the mission to make matplotlib easier to use.