You are reading an old version of the documentation (v1.5.3). For the latest version see

Matplotlib 2.0.0rc2 is available

Install the release candidate now!



This Page


matplotlib was written by John Hunter and is now developed and maintained by a number of active developers. The current co-lead developers of matplotlib are Michael Droettboom and Thomas A. Caswell.

Special thanks to those who have made valuable contributions (roughly in order of first contribution by date). Any list like this is bound to be incomplete and can’t capture the thousands and thousands of contributions over the years from these and others:

Jeremy O’Donoghue
wrote the wx backend
Andrew Straw
Provided much of the log scaling architecture, the fill command, PIL support for imshow, and provided many examples. He also wrote the support for dropped axis spines and the original buildbot unit testing infrastructure which triggered the JPL/James Evans platform specific builds and regression test image comparisons from svn matplotlib across platforms on svn commits.
Charles Twardy
provided the impetus code for the legend class and has made countless bug reports and suggestions for improvement.
Gary Ruben
made many enhancements to errorbar to support x and y errorbar plots, and added a number of new marker types to plot.
John Gill
wrote the table class and examples, helped with support for auto-legend placement, and added support for legending scatter plots.
David Moore
wrote the paint backend (no longer used)
Todd Miller
supported by STSCI contributed the TkAgg backend and the numerix module, which allows matplotlib to work with either numeric or numarray. He also ported image support to the postscript backend, with much pain and suffering.
Paul Barrett
supported by STSCI overhauled font management to provide an improved, free-standing, platform independent font manager with a WC3 compliant font finder and cache mechanism and ported truetype and mathtext to PS.
Perry Greenfield
supported by STSCI overhauled and modernized the goals and priorities page, implemented an improved colormap framework, and has provided many suggestions and a lot of insight to the overall design and organization of matplotlib.
Jared Wahlstrand
wrote the initial SVG backend.
Steve Chaplin
served as the GTK maintainer and wrote the Cairo and GTKCairo backends.
Jim Benson
provided the patch to handle vertical mathttext.
Gregory Lielens
provided the FltkAgg backend and several patches for the frontend, including contributions to toolbar2, and support for log ticking with alternate bases and major and minor log ticking.

Darren Dale

did the work to do mathtext exponential labeling for log plots, added improved support for scalar formatting, and did the lions share of the psfrag LaTeX support for postscript. He has made substantial contributions to extending and maintaining the PS and Qt backends, and wrote the site.cfg and matplotlib.conf build and runtime configuration support. He setup the infrastructure for the sphinx documentation that powers the mpl docs.
Paul Mcguire
provided the pyparsing module on which mathtext relies, and made a number of optimizations to the matplotlib mathtext grammar.
Fernando Perez
has provided numerous bug reports and patches for cleaning up backend imports and expanding pylab functionality, and provided matplotlib support in the pylab mode for ipython. He also provided the matshow() command, and wrote TConfig, which is the basis for the experimental traited mpl configuration.
Andrew Dalke
of Dalke Scientific Software contributed the strftime formatting code to handle years earlier than 1900.
Jochen Voss
served as PS backend maintainer and has contributed several bugfixes.

Nadia Dencheva

supported by STSCI provided the contouring and contour labeling code.
Baptiste Carvello
provided the key ideas in a patch for proper shared axes support that underlies ganged plots and multiscale plots.
Jeffrey Whitaker
at NOAA wrote the Basemap toolkit
Sigve Tjoraand, Ted Drain, James Evans
and colleagues at the JPL collaborated on the QtAgg backend and sponsored development of a number of features including custom unit types, datetime support, scale free ellipses, broken bar plots and more. The JPL team wrote the unit testing image comparison infrastructure for regression test image comparisons.
James Amundson
did the initial work porting the qt backend to qt4
Eric Firing
has contributed significantly to contouring, masked array, pcolor, image and quiver support, in addition to ongoing support and enhancements in performance, design and code quality in most aspects of matplotlib.
Daishi Harada
added support for “Dashed Text”. See and TextWithDash.
Nicolas Young
added support for byte images to imshow, which are more efficient in CPU and memory, and added support for irregularly sampled images.
The brainvisa Orsay team and Fernando Perez
added Qt support to ipython in pylab mode.
Charlie Moad
contributed work to matplotlib’s Cocoa support and has done a lot of work on the OSX and win32 binary releases.
Jouni K. Seppänen
wrote the PDF backend and contributed numerous fixes to the code, to tex support and to the get_sample_data handler
Paul Kienzle
improved the picking infrastructure for interactive plots, and with Alex Mont contributed fast rendering code for quadrilateral meshes.
Michael Droettboom
supported by STSCI wrote the enhanced mathtext support, implementing Knuth’s box layout algorithms, saving to file-like objects across backends, and is responsible for numerous bug-fixes, much better font and unicode support, and feature and performance enhancements across the matplotlib code base. He also rewrote the transformation infrastructure to support custom projections and scales.
John Porter, Jonathon Taylor and Reinier Heeres
John Porter wrote the mplot3d module for basic 3D plotting in matplotlib, and Jonathon Taylor and Reinier Heeres ported it to the refactored transform trunk.
Jae-Joon Lee
Implemented fancy arrows and boxes, rewrote the legend support to handle multiple columns and fancy text boxes, wrote the axes grid toolkit, and has made numerous contributions to the code and documentation
Paul Ivanov
Has worked on getting matplotlib integrated better with other tools, such as Sage and IPython, and getting the test infrastructure faster, lighter and meaner. Listen to his podcast.
Tony Yu
Has been involved in matplotlib since the early days, and recently has contributed stream plotting among many other improvements. He is the author of mpltools.
Michiel de Hoon
Wrote and maintains the macosx backend.
Ian Thomas
Contributed, among other things, the triangulation (tricolor and tripcontour) methods.
Benjamin Root
Has significantly improved the capabilities of the 3D plotting. He has improved matplotlib’s documentation and code quality throughout, and does invaluable triaging of pull requests and bugs.
Phil Elson
Fixed some deep-seated bugs in the transforms framework, and has been laser-focused on improving polish throughout matplotlib, tackling things that have been considered to large and daunting for a long time.
Damon McDougall
Added triangulated 3D surfaces and stack plots to matplotlib.