awesome-matplotlib
awesome-matplotlib copied to clipboard
A curated list of various Matplotlib resources
List of various useful resources around Matplotlib
This list is curated by Teresa Kubacka (pythonviz.blog). If you think a resource should be added, open an issue with your proposal!
TOC:
-
List of various useful resources around Matplotlib
- Cheat sheets
- Books
- Courses and workshops
- Repositories with examples of complex visualizations
-
Tutorials
- Community tutorials
- Official tutorials you may have missed
- Resources using the plt-API, but still useful
- MPL-lore, history and other meta-level material
- MPL-compatible modules and extensions
Cheat sheets
Books
- Scientific Visualization: Python + Matplotlib by Nicolas P. Rougier
- Coding for Economists by Arthur Turrell
- Python Data Science Handbook by Jake VanderPlas
Courses and workshops
- Anatomy of Matplotlib - a SciPy course developed by the MPL team; a bit old but still very useful code
- NumFocus Academy - Matplotlib course (beginner) by Nicolas P. Rougier code
- Beyond the Basics: Data Visualization in Python by Stefanie Molin code
- PythonMaps Scipy 2022 by Adam Symington code video
- Ipywidgets and MPL interactions Scipy 2022 code video
- Neural Network Visualization by Brandon Rohrer code video
- Effectively using Matplotlib by Tim Hoffmann EuroSciPy 2019/2022 code
- Code, Debug, Reuse this Chart by Artem Kislovsky, AMLD 2024 code
Repositories with examples of complex visualizations
- Lisa-Ho
- diego-gonher
- symmy596 - geoviz
- Kaggle: A story told through a heatmap
- sonofacorner - sport viz
- asongtoruin
- rnckp - SNSF-Data-Starter, Thematic Mapping Switzerland
Tutorials
Community tutorials
- Engineering for data science - Blog
- DataFantic - Blog
-
Blog of Gianluca Rigoletti:
- ridgeplots
- reproducing CERN ROOT stylesheet
- multiple Y axes
- Pythonviz.blog:
- Change font family
- How to create custom hatches: example 1 example 2 example 3. In future releases of Matplotlib there will be a different API to create custom hatches see discussion
- Son of a corner blog:
- Practical Business Python:
- Adam Ruszkowski's blog
- "Artist" in Matplotlib - something I wanted to know before spending tremendous hours on googling how-tos
- plt.xxx(), or ax.xxx(), That Is The Question In Matplotlib
-
Christian Hill's blog - scientific visualizations and simulations with code examples
- Christian Hill wrote a book "Learning Python for Scientific Applications" and the MPL examples from this book are available online
- Islamic Geometric Patterns
- Don't Use This Code
- Gradient-filled patches and fill-betweens and method2
- A selection of tutorials that recreate R visualizations by Tomas Capretto and Yan Holtz on the Python-Graph-Gallery
Official tutorials you may have missed
- How to create custom tables by Tim Bayer
- Battery Charts by Rithwik Rajendran - create custom shapes, make them data driven
- Packed-bubble chart - chart as a class; more circle packing chart than bubble chart
- Tips on structuring your MPL code by the MPL Project Lead Thomas A Caswell
- yourplotlib - Best practices for domain-specific matplotlib libraries by Colin Carroll, Hannah Aizenman, and Thomas Caswell
Resources using the plt-API, but still useful
- Matplot GIF on Calmcode
- Matplotlib 3.0 Cookbook by Srinivasa Rao Poladi
- Python Graph Gallery - a treasure of visualizations, but unfortunately the APIs used are not consistent
- Learning Scientific Programming with Python - contains many interesting examples of mathematical visualizations with accompanying numpy/scipy algorithms, however the MPL API is sometimes inconsistent
- Minesweeper in MPL
- Advanced MPL with interactivity - 2013 tutorials by Jake Vanderplas
MPL-lore, history and other meta-level material
- John Hunter and Michael Droettboom explain the design choices they made
- Matplotlib Lead Developer Explains Why He Can’t Fix the Docs—But You Can
- John Hunter's talk "matplotlib: Lessons from middle age"
- Thoughts on how the MPL API could be more pythonic
- my own NormConf Lightning Talk How to stop crying when using Matplotlib
- John D. Hunter's IEEE paper introducing Matplotlib
- my talk on the Swiss Python Summit 2023, "Did you know Matplotlib could do that?": video and slides
MPL-compatible modules and extensions
Colors
- glasbey - Algorithmically create or extend categorical colour palettes
- tastymap - Easily create, modify and register cmaps, including an interactive widget
Fun
- ridge_map - A library for making ridge plots of... ridges. Choose a location, get an elevation map, and tinker with it to make something beautiful.
Styles
- opinionated - A stylesheet for newspaper-like visualization style
- VSCode Intellisense for .mplstyle and matplotlibrc files
Text and annotations
- flexitext - create colorful text strings easily using CSS-like specification