matplotlib: plotting with Python
Python C++ Objective-C C JavaScript Jupyter Notebook Other
Latest commit 95d58f4 Sep 24, 2017 @tacaswell tacaswell committed on GitHub Merge pull request #9219 from jklymak/smallindexchange
DOC: reference User Guide in text.
Failed to load latest commit information.
.circleci Skip deployment if not on Matplotlib org. Jul 30, 2017
.github Add 2.1 what's new into docs. Jul 30, 2017
LICENSE MNT/DOC: whitespace + updated example heading Aug 13, 2017
ci Build docs with Circle CI (#8893) Jul 21, 2017
doc Small index change Sep 24, 2017
examples Merge pull request #9148 from dstansby/broken-links Sep 1, 2017
extern Fix two cases of signed integer overflow. Aug 22, 2017
lib Merge pull request #9108 from tacaswell/fix_js_bug Sep 24, 2017
release/win32/data Merged from main/master Aug 25, 2011
src Add comment about OSX busy cursor Sep 6, 2017
tools Use (set_)tick_params more in examples. Aug 8, 2017
tutorials Merge pull request #9148 from dstansby/broken-links Sep 1, 2017
unit Merge pull request #9142 from tacaswell/mnt_memleak_future_numpy Sep 1, 2017
.appveyor.yml Merge pull request #9197 from dstansby/appveyor Sep 18, 2017
.coveragerc Add branch coverage; exclude from coverage. Feb 21, 2017
.gitattributes Mark svg files as binary/generated in gitattributes. Sep 22, 2017
.gitignore fix leaked exception in RRuleLocator.tick_values Aug 12, 2017
.mailmap Update .mailmap based on feedback. Oct 1, 2016
.travis.yml Backport PR #9187: Fix wx_compat code for wxPython >= 4.0.0b2 Sep 22, 2017 More minor fixes based on feedback in the PR. Nov 19, 2012
INSTALL.rst BLD: bump minimum dateutil to 2.0 Aug 29, 2017 BLD: include in sdist Jan 12, 2016
Makefile DOC fix broken links Mar 12, 2017
README.rst DOC: add NUMFocus badges Jul 10, 2017
build_alllocal.cmd Use backports.functools_lru_cache instead of functools32 Jan 31, 2017 Fix typos Jul 18, 2017
doc-requirements.txt updating cross-refs and adding sphinx-gallery version dependency Aug 4, 2017
matplotlibrc.template Merge pull request #9189 from jni/validate-mplrc Sep 16, 2017
pytest.ini STY: PEP8 the rest of PolarAxes code. Aug 16, 2017
setup.cfg.template Fix typos Jun 26, 2017 Drop python 3.3 from Aug 25, 2017 CI: remove unneeded functions for local freetype build Jan 26, 2016 Rename test_only to avoid pytest collection. Feb 2, 2017 BLD: bump minimum dateutil to 2.0 Aug 29, 2017 Fix testing with on Py3.6. Mar 13, 2017
tox.ini TST: Add 3.6 to tox.ini. Feb 16, 2017 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.

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 and, on Python 2.7, mock. 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!