matplotlib: plotting with Python
Python C++ Objective-C JavaScript C Jupyter Notebook Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.circleci Fix CircleCI build. Apr 15, 2018
.github Cleanup issue template. Dec 16, 2017
LICENSE MNT/DOC: whitespace + updated example heading Aug 13, 2017
ci Simplify Mac builds on Travis Feb 16, 2018
doc Merge pull request #11080 from anntzer/qtcleanup Apr 19, 2018
examples Merge pull request #11083 from timhoffm/pie-demo2 Apr 19, 2018
extern Backport PR #10077: Use fuzzy comparison for stroke join determination. Jan 15, 2018
lib Merge pull request #11080 from anntzer/qtcleanup Apr 19, 2018
src Rewrite the tk C blitting code Apr 2, 2018
tools Help tool. Apr 17, 2018
tutorials Merge pull request #10899 from timhoffm/switch-cycler-to-kwargs Apr 18, 2018
unit Py3fy cbook, compare_backend_driver_results Apr 4, 2018
.appveyor.yml Add some animation tests. Mar 21, 2018
.coveragerc Add branch coverage; exclude from coverage. Feb 21, 2017
.gitattributes Mark svg files as binary/generated in gitattributes. Sep 22, 2017
.gitignore Don't create texput.{aux,log} in rootdir everytime tests are run. Apr 18, 2018
.mailmap Update .mailmap based on feedback. Oct 1, 2016
.travis.yml Merge pull request #10215 from anntzer/more-interactive-tests Apr 4, 2018
INSTALL.rst Update INSTALL.rst. Mar 27, 2018 Cleanup old entries from manifest. Mar 14, 2018
README.rst Fix small typo in README Apr 10, 2018
build_alllocal.cmd Update INSTALL.rst. Mar 27, 2018
doc-requirements.txt Mock is in stdlib in Py3. Mar 3, 2018
matplotlibrc.template Help tool. Apr 17, 2018
pytest.ini Merge branch 'v2.2.x' Apr 10, 2018
setup.cfg.template Remove deprecated backends. Mar 4, 2018 Merge pull request #9571 from anntzer/ Mar 21, 2018 Some comment typo fixes Jan 16, 2018 Style fixes to Mar 26, 2018 Mock is in stdlib in Py3. Mar 3, 2018
tox.ini Mock is in stdlib in Py3. Mar 3, 2018 Made use of versioneer, with a few modifications. Sep 14, 2015


Travis AppVeyor Codecov PyPi Gitter Depsy


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 (à la MATLAB or Mathematica), web application servers, and various graphical user interface toolkits.

NOTE: The current master branch is now Python 3 only. Python 2 support is being dropped.

Home page


For installation instructions and requirements, see the INSTALL.rst file or the install documentation. If you think you may want to contribute to matplotlib, check out the guide to working with the source code.


After installation, you can launch the test suite:


Or from the Python interpreter:

import matplotlib

Consider reading for more information. Note that the test suite requires pytest. Please install with pip or your package manager of choice.


matplotlib's communication channels include active mailing lists:

The first is a good starting point for general questions and discussions.

Gitter is for coordinating development and asking questions directly related to contributing to matplotlib.


You've discovered a bug or something else you want to change - excellent!

You've worked out a way to fix it – even better!

You want to tell us about it – best of all!

Start at the contributing guide!

Developer notes are now at Developer Discussions