Introduction
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 examples, see the sample plots and thumbnail gallery.
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.
Installation
Visit the Matplotlib installation instructions.
Documentation
This is the documentation for Matplotlib version 2.1.0.
To get started, read the User's Guide.
Other versions are available:2.1.0 Latest stable version.
2.x Latest git master (unstable)
2.0.2 Previous stable version.
1.5.3 Older stable version.
Trying to learn how to do a particular kind of plot? Check out
the examples gallery
or the list of plotting
commands.
Other learning resources
There are many external learning
resources available including printed material, videos and tutorials.
Need help?
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.
To keep up to date with what's going on in Matplotlib, see
the what's new
page or browse the source
code. Anything that could require changes to your existing code
is logged in the api
changes file.
Toolkits
Matplotlib ships with several add-on toolkits,
Including 3d plotting with mplot3d,
axes helpers in axes_grid1 and
axis helpers in axisartist.
Third party packages
A large number of third party packages
extend and build on Matplotlib functionality, including several higher-level plotting interfaces
seaborn,
holoviews,
ggplot, and
two projection and mapping toolkits
basemap and
cartopy.
Citing Matplotlib
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.
Open source
The Matplotlib license is based on the Python Software Foundation
(PSF) license.
There is an active developer community and a long list of people
who have made significant contributions.
Matplotlib is hosted on Github.
Issues and
Pull requests
are tracked at Github too.