Matplotlib Explained
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.[2] SciPy makes use of Matplotlib.
Matplotlib was originally written by John D. Hunter. Since then it has had an active development community[3] 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[4] and was further joined by Thomas Caswell.[5] [6] Matplotlib is a NumFOCUS fiscally sponsored project.[7]
Comparison with MATLAB
Pyplot is a Matplotlib module that provides a MATLAB-like interface.[8] Matplotlib is designed to be as usable as MATLAB, with the ability to use Python, and the advantage of being free and open-source.
Toolkits
Several toolkits are available which extend Matplotlib functionality. Some are separate downloads, others ship with the Matplotlib source code but have external dependencies.[9]
map plotting with various map projections, coastlines, and political boundaries[10]
- Cartopy: a mapping library featuring object-oriented map projection definitions, and arbitrary point, line, polygon and image transformation capabilities.[11] (Matplotlib v1.2 and above)
- Excel tools: utilities for exchanging data with Microsoft Excel
- GTK tools: interface to the GTK library
- Qt interface
- Mplot3d: 3-D plots
- Natgrid: interface to the natgrid library for gridding irregularly spaced data.
- tikzplotlib: export to Pgfplots for smooth integration into LaTeX documents (formerly known as matplotlib2tikz)[12]
- Seaborn: provides an API on top of Matplotlib that offers sane choices for plot style and color defaults, defines simple high-level functions for common statistical plot types, and integrates with the functionality provided by Pandas
- GeoPandas:[13] simplifies geospatial work in Python without needing a spatial database like PostGIS
- Cartopy: streamlines map creation in matplotlib by enabling users to specify a projection and add coastlines with a single line of code[14]
Related projects
- Biggles[15]
- Chaco[16]
- DISLIN
- GNU Octave
- gnuplotlib – plotting for numpy with a gnuplot backend
- Gnuplot-py[17]
- PLplot – Python bindings available
- SageMath – uses
Matplotlib
to draw plots
- SciPy (modules
plt
and gplt
)
- Plotly – for interactive, online Matplotlib and Python graphs
- Bokeh[18] – Python interactive visualization library that targets modern web browsers for presentation
Notes and References
- Web site: Copyright Policy.
- Web site: API Overview. matplotlib.org.
- Web site: Matplotlib github stats . matplotlib.org .
- Web site: Announcing Michael Droettboom as the lead Matplotlib developer . matplotlib.org . 2013-04-24 . 2020-10-27 . https://web.archive.org/web/20201027122844/http://matplotlib.1069221.n5.nabble.com/ANN-Michael-Droettboom-matplotlib-lead-developer-td5037.html . dead .
- News: Matplotlib Lead Developer Explains Why He Can't Fix the Docs—But You Can – NumFOCUS. 2017-10-05. NumFOCUS. 2018-04-11. en-US.
- Web site: Credits – Matplotlib 2.2.2 documentation. matplotlib.org. 2018-04-11.
- Web site: NumFOCUS Sponsored Projects. NumFOCUS. 2021-10-25.
- Web site: Matplotlib: Python plotting — Matplotlib 3.2.0 documentation. matplotlib.org. 2020-03-14.
- Web site: Toolkits . matplotlib.org.
- Web site: Whitaker. Jeffrey. The Matplotlib Basemap Toolkit User's Guide (v. 1.0.5). Matplotlib Basemap Toolkit documentation. 24 April 2013.
- Web site: Elson. Philip. Cartopy. 24 April 2013.
- Web site: Schlömer. Nico. tikzplotlib. GitHub. 7 November 2016.
- Web site: GeoPandas 0.14.4 — GeoPandas 0.14.4+0.g60c9773.dirty documentation . 2024-04-29 . geopandas.org.
- Web site: Using cartopy with matplotlib — cartopy 0.15.0 documentation . 2024-04-30 . scitools.org.uk.
- Web site: Bigglessimple, elegant python plotting . biggles.sourceforge.net . 24 November 2010.
- Web site: Chaco . code.enthought.com.
- Web site: Gnuplot.py on . gnuplot-py.sourceforge.net . 24 November 2010.
- Web site: Bokeh 2.0.0 Documentation. docs.bokeh.org. 2020-03-14.