matplotlib: plotting with Python
Python C++ Objective-C C JavaScript Jupyter Notebook Other
Latest commit 225a4a0 Aug 17, 2017 @dstansby dstansby committed on GitHub Merge pull request #9050 from choldgraf/pyplot_tut
fix pyplot tutorial bug
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 Merge pull request #8678 from QuLogic/tick_params Aug 13, 2017
examples Merge pull request #9026 from tacaswell/sty_solaized Aug 17, 2017
extern Merge pull request #8709 from taehoonlee/fix_typos Jun 8, 2017
lib Merge pull request #9026 from tacaswell/sty_solaized Aug 17, 2017
release/win32/data Merged from main/master Aug 25, 2011
src Update path simplification to handle anti-parallel vectors Aug 4, 2017
tools Use (set_)tick_params more in examples. Aug 8, 2017
tutorials fix pyplot tutorial bug Aug 17, 2017
unit Remove bundled virtualenv module Oct 21, 2016
.appveyor.yml CI: re-enable py2.7 testing on appveyor Aug 10, 2017
.coveragerc Add branch coverage; exclude from coverage. Feb 21, 2017
.gitattributes Made use of versioneer, with a few modifications. Sep 14, 2015
.gitignore Merge pull request #8545 from choldgraf/add_tutorials Apr 30, 2017
.mailmap Update .mailmap based on feedback. Oct 1, 2016
.travis.yml CI: increase the allowed number of failures Aug 6, 2017 More minor fixes based on feedback in the PR. Nov 19, 2012
INSTALL.rst Update INSTALL.rst Aug 2, 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 Drop support for dvipng 1.5; drop dvipnghack. Jun 13, 2017
pytest.ini Update pytest exceptions Jul 24, 2017
setup.cfg.template Fix typos Jun 26, 2017 Revert "Merge pull request #5754 from blink1073/ipython-widget" Aug 13, 2017 CI: remove unneeded functions for local freetype build Jan 26, 2016 Rename test_only to avoid pytest collection. Feb 2, 2017 Revert "Merge pull request #5754 from blink1073/ipython-widget" Aug 13, 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!