
Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, the Python andIPython shell, thejupyter notebook, web application servers, and four graphical user interface toolkits.
Matplotlib tries to make easy things easy and hard things possible. You can generate plots, histograms, power spectra, bar charts, errorcharts, scatterplots, etc., with just a few lines of code. For a sampling, see thescreenshots,thumbnail gallery, andexamples directory
For simple plotting thepyplot module provides a MATLAB-like interface, particularly when combined withIPython. For the power user, you have full control of line styles, font properties, axes properties, etc, via an object oriented interface or via a set of functions familiar to MATLAB users.
Trying to learn how to do a particular kind of plot? Check out thegallery,examples, or thelist of plotting commands.
There are manyexternal learning resources available including printed material, videos and tutorials.
Matplotlib is a welcoming, inclusive project, and we try to followthePython SoftwareFoundation Code of Conduct in everything we do.
Check thefaq,theapi docs andmailing list archives for resources.Join thegitter and the mailing lists:Users,Announce andDevel.Check out the Matplotlib questionsonstackoverflow.Thesearch tool searches all ofthe documentation, including full text search of over 350 completeexamples which exercise almost every corner of Matplotlib.
You can file bugs, patches and feature requests on thegithubtracker,but it is a good idea to ping us on the mailing list too.
To keep up to date with what's going on in Matplotlib, seethewhat's newpage or browse thesourcecode. Anything that could require changes to your existing codeis logged in theapichanges file.
There are several Matplotlib add-ontoolkits,including a choice of two projection and mapping toolkitsbasemap andcartopy,3d plotting withmplot3d,axes and axis helpers inaxes_grid,several higher-level plotting interfacesseaborn,holoviews,ggplot, and more.
Matplotlib is the brainchild of John Hunter (1968-2012), who, along with its many contributors, have put an immeasurable amount of time and effort into producing a piece of software utilized by thousands of scientists worldwide. If Matplotlib contributes to a project that leads to a scientific publication, please acknowledge this work by citing the project. You can use thisready-made citation entry.

Pleaseconsiderdonatingto the Matplotlib project through the Numfocus organization or totheJohn Hunter Technology Fellowship.
The Matplotliblicense is based on the Python Software Foundation(PSF) license.
There is an active developer community and a long list of peoplewho have made significantcontributions.
Matplotlib is hosted onGithub.Issues andPull requestsare tracked at Github too.
*MATLAB is a registered trademark of The MathWorks, Inc.