Matplotlib
by Matplotlib Development Team (NumFOCUS) · Library · also known as pyplot
The foundational Python plotting library for static, publication-quality figures with full control over every element, exported to PDF, SVG, PNG and PGF
Overview
Matplotlib is the long-standing plotting library of scientific Python, maintained by the Matplotlib Development Team under NumFOCUS and distributed under a permissive license derived from the Python Software Foundation license. It produces static two-dimensional figures (with a 3D toolkit) through the state-machine pyplot interface familiar from MATLAB or the explicit object-oriented Figure and Axes API, and renders them with backends for PNG, PDF, SVG, PS and PGF/LaTeX output or interactive windows in Qt, Tk, macOS and web contexts. Text can be typeset with LaTeX, every line, tick, legend and annotation is adjustable, and style sheets or rcParams control defaults globally, which is why most figures in economics and finance papers written in Python pass through it.
pandas, seaborn, statsmodels, GeoPandas and many domain packages plot through Matplotlib, and Jupyter displays its output inline. Its weaknesses are the inverse of its strengths: verbose code for complex layouts, limited interactivity compared with Plotly or Altair, and defaults that need styling for presentation. Animation and very large datasets are possible but not its focus.
Editorial note on uncertainty. license_spdx omitted because the Matplotlib license is a PSF-style license without an exact SPDX identifier.
Capabilities
- pyplot and object-oriented Figure/Axes APIs
- Vector output to PDF, SVG, PS and PGF for LaTeX documents
- LaTeX text rendering and mathtext
- Style sheets and rcParams for consistent defaults
- Interactive backends for Qt, Tk, macOS and Jupyter
- 3D plotting toolkit and animation module
Typical workflows
- Publication figures exported as PDF or PGF for a LaTeX paper
- Quick plots from pandas DataFrames in a notebook
- Base layer for seaborn and statsmodels diagnostic plots
Strengths
- Complete control over figure details
- Vector output integrates with LaTeX workflows
- Underpins most of the Python plotting ecosystem
Limitations
- Verbose for complex layouts
- Limited interactivity
- Defaults require styling for polished output
Prerequisites
- Python with NumPy; optional LaTeX installation for text rendering
Who it is for
- Researchers preparing figures for papers
- Students and scientists in Python
Alternatives & comparison
- D3
Modular JavaScript library for bespoke, data-driven web graphics: scales, axes, shapes, layouts, geo projections, transitions and DOM selections
Open sourceOpen source - Plotly
MIT-licensed interactive charting libraries for Python (plotly.py), JavaScript (plotly.js) and R, plus the Dash framework for analytical web apps
MixedOpen source - R
Language and environment for statistical computing and graphics, with the CRAN package archive and a strong base in academic statistics and econometrics
Open sourceOpen source - Vega-Altair
Declarative Python visualization library that compiles concise chart specifications to Vega-Lite JSON for interactive, grammar-of-graphics plots
Open sourceOpen source
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- LicenseMatplotlib licensechecked Nov 1, 2026
https://matplotlib.org/stable/project/license.html
Supports: source_model
PSF-derived Matplotlib license; no exact SPDX identifier, so license_spdx is omitted
- Official documentationchecked Nov 1, 2026
- Official sitechecked Nov 1, 2026
- Repositorychecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in Data visualization
Microsoft Power BI
Microsoft · BI & dashboards
Microsoft's business-intelligence suite: free Windows Power BI Desktop for modeling and reports, and the Power BI service in Microsoft Fabric for sharing
Observable
Observable, Inc. · Notebooks & interactive computing
JavaScript data notebooks and the open-source Observable Framework static-site generator for data apps, from the maintainers of D3 and Plot
Tableau
Salesforce · BI & dashboards
Salesforce's visual analytics platform: Tableau Desktop authoring (now with a free edition), Tableau Cloud and Server for sharing, and Tableau Next for CRM analytics