:orphan:
.. title:: Matplotlib: Python plotting
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_
shells, the Jupyter_ notebook, web application servers, and four graphical user
interface toolkits.
.. _IPython: http://ipython.org
.. _Jupyter: http://jupyter.org
.. raw:: html
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
:doc:`sample plots ` and :doc:`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.
Documentation
-------------
To get started, read the :doc:`User's Guide `.
Trying to learn how to do a particular kind of plot? Check out the
:doc:`examples gallery ` or the :doc:`list of plotting commands
`.
Other learning resources
~~~~~~~~~~~~~~~~~~~~~~~~
There are many :doc:`external learning resources ` available
including printed material, videos and tutorials.
Join our community!
~~~~~~~~~~~~~~~~~~~
Matplotlib is a welcoming, inclusive project, and we follow the `Python
Software Foundation Code of Conduct `_ in everything we do.
.. _coc: http://www.python.org/psf/codeofconduct/
.. raw:: html
Get help
If you have questions, be sure to check the FAQ,
the API docs. The full text
search is a good way to discover the docs including the many examples.
News
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.
Development
Matplotlib is hosted on GitHub.
It is a good idea to ping us on Discourse as well.
Mailing lists
Toolkits
========
Matplotlib ships with several add-on :doc:`toolkits `,
including 3d plotting with `mplot3d`, axes helpers in `axes_grid1` and axis
helpers in `axisartist`.
Third party packages
====================
A large number of :doc:`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_).
.. _seaborn: https://seaborn.pydata.org
.. _holoviews: http://holoviews.org
.. _ggplot: http://ggplot.yhathq.com
.. _basemap: https://matplotlib.org/basemap
.. _cartopy: https://scitools.org.uk/cartopy/docs/latest
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. A :doc:`ready-made citation
entry ` is available.
Open source
===========
.. raw:: html
Matplotlib is a Sponsored Project of NumFOCUS, a 501(c)(3) nonprofit
charity in the United States. NumFOCUS provides Matplotlib with
fiscal, legal, and administrative support to help ensure the health
and sustainability of the project. Visit `numfocus.org `_ for more
information.
Donations to Matplotlib are managed by NumFOCUS. For donors in the
United States, your gift is tax-deductible to the extent provided by
law. As with any donation, you should consult with your tax adviser
about your particular tax situation.
Please consider `donating to the Matplotlib project `_ through
the Numfocus organization or to the `John Hunter Technology Fellowship
`_.
.. _donating: https://numfocus.org/donate-to-matplotlib
.. _jdh-fellowship: https://www.numfocus.org/programs/john-hunter-technology-fellowship/
.. _nf: https://numfocus.org
The :doc:`Matplotlib license ` is based on the `Python Software
Foundation (PSF) license `_.
.. _psf-license: http://www.python.org/psf/license
There is an active developer community and a long list of people who have made
significant :doc:`contributions `.