matplotlib — бібліотека мови програмування Python для візуалізації даних двовимірною 2D графікою (3D графіка також підтримується). Отримувані зображення можуть бути використані як ілюстрації в публікаціях.
matplotlib написана і підтримується в основному Джоном Хантером і поширюється на умовах BSD-подібної ліцензії. Зображення, які генеруються в різних форматах, можуть бути використані в інтерактивній графіці, наукових публікаціях, графічному інтерфейсі користувача, вебдодатках, де потрібно будувати діаграми (англ. plotting). В документації автор зізнається, що Matplotlib починався з імітування графічних команд MATLAB, але є незалежним від нього проектом.
Версія 1.2.0 — остання стабільна — потребує Python версії від 2.6 і вище і версію NumPy від 1.4 і вище.
Бібліотека Matplotlib побудована на принципах ООП, але має процедурний інтерфейс pylab, який надає аналоги команд MATLAB.
Можливості
Matplotlib є гнучким, легко конфігурованим пакетом, який разом з NumPy, SciPy і IPython надає можливості, подібні до MATLAB. В даний час пакет працює з декількома графічними бібліотеками, включаючи wxWindows і PyGTK.
Пакет підтримує багато видів графіків і діаграм:
- Графіки (line plot)
- Діаграми розсіювання (scatter plot)
- Стовпчасті діаграми (bar chart) і гістограми (histogram)
- Секторні діаграми (pie chart)
- Діаграми «Стовбур-листя» (stem plot)
- Контурні графіки (contour plot)
- Поля градієнтів (quiver)
- Спектральні діаграми (spectrogram)
Користувач може вказати осі координат, сітку, додати підписи і пояснення, використовувати логарифмічну шкалу або полярні координати.
Нескладні тривимірні графіки можна будувати з допомогою набору інструментів (toolkit) mplot3d. Існують і інші набори інструментів: для картографії, для роботи з Excel, утиліти для GTK та інші.
З допомогою Matplotlib можна створювати і анімовані зображення.
Набір підтримуваних форматів зображень, векторних і растрових, можна отримати з словника FigureCanvasBase.filetypes. Типові підтримувані формати:
- Encapsulated PostScript (EPS)
- Enhanced Metafile (EMF)
- JPEG
- PNG
- PostScript
- RGBA («сирий» формат)
- SVG
- SVGZ
- TIFF
Крім того, на основі класів пакету можна створювати й інші модулі. Наприклад, для генерування спарклайнів.
Порівняння з MATLAB
Інтерфейс pylab дозволяє легко використовувати matplotlib досвідченими користувачами MATLAB.
Нижче наведено деякі переваги використання matplotlib, як аналога MATLAB:
- вбудована підтримка SVG;
- є відкритим програмним забезпеченням;
- безкоштовний.
Приклад

Наступний приклад ілюструє побудову графіка:
from pylab import * plot(range(1, 20), [i * i for i in range(1, 20)], 'ro') savefig('example.png') show()
Галерея графіків



![Квазідворічні коливання[en]](https://upload.wikimedia.org/wikipedia/commons/thumb/f/f6/QBO_Cycle_observed.svg/960px-QBO_Cycle_observed.svg.png)


