Tools · SPBoucher
Menu

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

Open sourceOpen sourceFreeLocalSelf-hostable
Visit official site Compare

Link verified Nov 2, 2026

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

  1. Publication figures exported as PDF or PGF for a LaTeX paper
  2. Quick plots from pandas DataFrames in a notebook
  3. 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
Compare Matplotlib with its alternatives →

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.

  • License
    Matplotlib license

    https://matplotlib.org/stable/project/license.html

    Supports: source_model

    PSF-derived Matplotlib license; no exact SPDX identifier, so license_spdx is omitted

    checked Nov 1, 2026
  • Official documentation
    Matplotlib documentation

    https://matplotlib.org/stable

    Supports: capabilities, data_formats

    checked Nov 1, 2026
  • Official site
    Matplotlib — Visualization with Python

    https://matplotlib.org/

    Supports: name, summary

    checked Nov 1, 2026
  • Repository
    matplotlib/matplotlib

    https://github.com/matplotlib/matplotlib

    Supports: repo_url

    checked Nov 1, 2026
Confidence
High
Reviewed
Nov 1, 2026
Links
Verified · Nov 2, 2026

Spotted an error?

Broken link, outdated license, wrong category, or a tool that no longer exists? Tell us; reports are reviewed by the editor.

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

ProprietaryFreemiumPaidLocalBroken

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

ISCFreemiumPaidLocalNov 2, 2026

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

ProprietaryFreemiumPaidLocalSelf-hostedNov 2, 2026