Visualization libraries · NumFOCUS (Matplotlib Development Team)

Matplotlib

Python's foundational plotting library for static, publication-quality charts, from quick line plots to fully custom figures.

Matplotlib is a Python plotting library that has served as the foundation of the scientific Python visualization stack since the mid-2000s. Its object-oriented API (Figure, Axes) gives fine-grained control over every element of a chart — ticks, spines, annotations, layout — which makes it the tool of choice for publication-quality static figures in academic and scientific work. It is not built for interactivity by default, though its %matplotlib widget and web backends add basic zoom and pan. Most other Python plotting libraries, including seaborn and pandas' .plot() accessor, are built as higher-level wrappers around Matplotlib rather than replacements for it. It integrates tightly with NumPy arrays and Pandas DataFrames and renders directly inline in Jupyter notebooks.

At a glance

Vendor NumFOCUS (Matplotlib Development Team)
Pricing model Open source + paid options
Free tier Yes
Deployment Self-hosted
Open source Yes (Matplotlib License (BSD-compatible))
Best for Python users who need precise control over static, publication-quality charts.

Pricing

Free, open-source project fiscally sponsored by NumFOCUS with no pricing page.

Pricing has not been verified yet — see the vendor's site.

Features

  • Object-oriented Figure/Axes API
  • Fine-grained control of every chart element
  • Publication-quality static output (PNG, SVG, PDF)
  • Wide range of plot types
  • Tight NumPy and Pandas integration
  • Inline rendering in Jupyter

Integrations

Profile last reviewed September 21, 2026

Head to head

Alternatives

Matplotlib in the index now

Terms to know

Related guides