Matplotlib
Matplotlib logo.svg
Mpl screenshot figures and code.png
Screenshot of Matplotlib plots and code
Original author(s)John D. Hunter
Developer(s)Michael Droettboom, et al.
Initial release2003; 19 years ago (2003)[1]
Stable release
3.5.0[2] Edit this on Wikidata / 16 November 2021; 9 months ago (16 November 2021)
Repository
Written inPython
Engine
  • Cairo
  • Anti-Grain Geometry
Edit this at Wikidata
Operating systemCross-platform
TypePlotting
LicenseMatplotlib license
Websitematplotlib.org

Matplotlib is a plotting library for the Python programming language and its numerical mathematics extension NumPy. It provides an object-oriented API for embedding plots into applications using general-purpose GUI toolkits like Tkinter, wxPython, Qt, or GTK. There is also a procedural "pylab" interface based on a state machine (like OpenGL), designed to closely resemble that of MATLAB, though its use is discouraged.[3] SciPy makes use of Matplotlib.

Matplotlib was originally written by John D. Hunter. Since then it has had an active development community[4] and is distributed under a BSD-style license. Michael Droettboom was nominated as matplotlib's lead developer shortly before John Hunter's death in August 2012[5] and was further joined by Thomas Caswell.[6][7] Matplotlib is a NumFOCUS fiscally sponsored project.[8]

Matplotlib 2.0.x supports Python versions 2.7 through 3.10. Python 3 support started with Matplotlib 1.2. Matplotlib 1.4 is the last version to support Python 2.6.[9] Matplotlib has pledged not to support Python 2 past 2020 by signing the Python 3 Statement.[10]

Comparison with MATLAB

Pyplot is a Matplotlib module which provides a MATLAB-like interface.[11] Matplotlib is designed to be as usable as MATLAB, with the ability to use Python, and the advantage of being free and open-source.

Examples

Toolkits

Several toolkits are available which extend Matplotlib functionality. Some are separate downloads, others ship with the Matplotlib source code but have external dependencies.[12]

Related projects

References

  1. ^ "Copyright Policy".
  2. ^ "Release 3.5.0".
  3. ^ "API Overview". matplotlib.org.((cite web)): CS1 maint: url-status (link)
  4. ^ "Matplotlib github stats". matplotlib.org.
  5. ^ "Announcing Michael Droettboom as the lead Matplotlib developer". matplotlib.org.
  6. ^ "Matplotlib Lead Developer Explains Why He Can't Fix the Docs—But You Can – NumFOCUS". NumFOCUS. 2017-10-05. Retrieved 2018-04-11.
  7. ^ "Credits – Matplotlib 2.2.2 documentation". matplotlib.org. Retrieved 2018-04-11.
  8. ^ "NumFOCUS Sponsored Projects". NumFOCUS. Retrieved 2021-10-25.
  9. ^ "Installing – Matplotlib 2.0.2 documentation". Retrieved 2017-06-23.
  10. ^ "Add Matplotlib to list by takluyver · Pull Request #20 · python3statement/python3statement.github.io". GitHub. Retrieved 2018-04-11.
  11. ^ "Matplotlib: Python plotting — Matplotlib 3.2.0 documentation". matplotlib.org. Retrieved 2020-03-14.
  12. ^ "Toolkits". matplotlib.org.
  13. ^ Whitaker, Jeffrey. "The Matplotlib Basemap Toolkit User's Guide (v. 1.0.5)". Matplotlib Basemap Toolkit documentation. Retrieved 24 April 2013.
  14. ^ Elson, Philip. "Cartopy". Retrieved 24 April 2013.
  15. ^ Schlömer, Nico. "tikzplotlib". GitHub. Retrieved 7 November 2016.
  16. ^ "Bigglessimple, elegant python plotting". biggles.sourceforge.net. Retrieved 24 November 2010.
  17. ^ "Chaco". code.enthought.com.
  18. ^ "Gnuplot.py on". gnuplot-py.sourceforge.net. Retrieved 24 November 2010.
  19. ^ "PyCha". bitbucket.org.
  20. ^ "PyPlotter - graph plotting". www.eckhartarnold.de. Retrieved 2020-03-14.
  21. ^ "Bokeh 2.0.0 Documentation". docs.bokeh.org. Retrieved 2020-03-14.