matplotlib: plotting with Python
Python C++ Objective-C C JavaScript Jupyter Notebook Other
Latest commit b1e0937 Jan 23, 2017 @jkseppan jkseppan Merge remote-tracking branch 'QuLogic/pytest-font-text'
Merge pull request #7872: Convert font/text tests to pytest.
Failed to load latest commit information.
.github Adjust markdown and text in Jan 10, 2017
LICENSE LEG: include license for files derived from PIL Oct 11, 2016
ci MNT : remove deprecated delaunay code Oct 19, 2016
doc Merge pull request #7748 from jkseppan/deterministic-tests Jan 21, 2017
examples fix style sheet examples Jan 21, 2017
extern Update qhull to 2015.2 Jan 6, 2017
lib Merge remote-tracking branch 'QuLogic/pytest-font-text' Jan 23, 2017
release/win32/data Merged from main/master Aug 25, 2011
src Fix leak of filedescriptor if fontsize cannot be set. Jan 22, 2017
tools Merge branch 'v2.x' Dec 31, 2016
unit Remove bundled virtualenv module Oct 21, 2016
.coveragerc Added additional coverage excludes Nov 15, 2016
.gitattributes Made use of versioneer, with a few modifications. Sep 14, 2015
.gitignore Ignore images that doc build produces Jan 10, 2017
.mailmap Update .mailmap based on feedback. Oct 1, 2016
.travis.yml MAINT pytest now exist on first failure on travis Jan 20, 2017
CHANGELOG Added a text entry widget, that allows usere to register to be notifi… Aug 29, 2016 More minor fixes based on feedback in the PR. Nov 19, 2012
INSTALL Merge remote-tracking branch 'matplotlib/v2.0.x' Jan 20, 2017 BLD: include in sdist Jan 12, 2016
Makefile Change matplotlib's nose dependency to a test dependency Jul 11, 2015
README.osx Merge pull request #4465 from tacaswell/doc_brew_pkgconfig Jun 17, 2015
README.rst Merge pull request #7381 from matplotlib/readme-updates Nov 3, 2016 Update dependencies in tests and wheelbuild and remove pyqt Jul 3, 2016
appveyor.yml Added travis and appveyor pytest builds Aug 21, 2016 set/dict literals/comprehensions. Dec 4, 2016
build_alllocal.cmd Fix local windows build script due to conda changes Jul 5, 2016 Refactored `image_comparison` decorator Sep 16, 2016 Fix PEP8 coding style violations Dec 16, 2014
doc-requirements.txt DOC: Disable build against Sphinx 1.5.0. Dec 5, 2016 Fix PEP8 coding style violations Dec 16, 2014
matplotlibrc.template Merge branch 'v2.x' Jan 16, 2017
pytest.ini Added travis and appveyor pytest builds Aug 21, 2016
setup.cfg.template DOC: minor doc tweaks Jan 13, 2017 Declare Python 3.6 support via classifier in Dec 31, 2016 CI: remove unneeded functions for local freetype build Jan 26, 2016 MAINT moved _backports to cbook module Jan 19, 2017 Fix memory leaks in the test suite. Jul 15, 2014 Fix double running of explicitly chosen tests. Nov 22, 2016
tox.ini py.test, updating axis ticks, and unitData as class, removed test_cat… Aug 23, 2016 Made use of versioneer, with a few modifications. Sep 14, 2015 Cleanup some bare excepts and related code. Dec 3, 2016



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

Home page


For installation instructions and requirements, see the INSTALL 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 nose and on Python 2.7 mock which are not installed by default. 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.

Join the chat at


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!