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 and IPython shell, the jupyter 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 the screenshots, thumbnail gallery, and examples directory
For simple plotting the pyplot module provides a MATLAB-like interface, particularly when combined with IPython. 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.
There are many external learning resources available including printed material, videos and tutorials.
Matplotlib is a welcoming, inclusive project, and we try to follow the Python Software Foundation Code of Conduct in everything we do.
Check the faq, the api docs and mailing list archives for resources. Join the gitter and the mailing lists: Users, Announce and Devel. Check out the Matplotlib questions on stackoverflow. The search tool searches all of the documentation, including full text search of over 350 complete examples which exercise almost every corner of Matplotlib.
You can file bugs, patches and feature requests on the github tracker, but it is a good idea to ping us on the mailing list too.
There are several Matplotlib add-on toolkits, including a choice of two projection and mapping toolkits basemap and cartopy, 3d plotting with mplot3d, axes and axis helpers in axes_grid, several higher-level plotting interfaces seaborn, 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 this ready-made citation entry.
There is an active developer community and a long list of people who have made significant contributions.
* MATLAB is a registered trademark of The MathWorks, Inc.