Matplotlib – свободная библиотека на языке программирования Python для визуализации данных двумерной (2D) графикой (трёхмерная (3D) графика также поддерживается). Получаемые изображения могут быть использованы в качестве иллюстраций в публикациях.
Matplotlib написан и поддерживался в основном Джоном Хантером (англ. John Hunter) и распространяется на условиях BSD-подобной лицензии. Генерируемые в различных форматах изображения могут быть использованы в интерактивной графике, в научных публикациях, графическом интерфейсе пользователя, веб-приложениях, где требуется построение диаграмм (англ. plotting). В документации автор признаётся, что Matplotlib начинался с подражания графическим командам MATLAB, но является независимым от него проектом.
Версия 1.2.0 – последняя стабильная – требует Python версии от 2.6 и выше и версию NumPy от 1.4 и выше.
Библиотека Matplotlib построена на принципах объектно-ориентированного программирования, но имеет процедурный интерфейс PyLab, который предоставляет аналоги команд MATLAB.
Возможности Matplotlib
Matplotlib является гибким, легко конфигурируемым пакетом, который вместе с NumPy, SciPy и IPython предоставляет возможности, подобные MATLAB. В настоящее время пакет работает с несколькими графическими библиотеками, включая wxWindows и PyGTK.
Пакет поддерживает многие виды графиков и диаграмм:
Пользователь может указать оси координат, решетку, добавить надписи и пояснения, использовать логарифмическую шкалу или полярные координаты.
Несложные трёхмерные графики можно строить с помощью набора инструментов (toolkit) mplot3d. Есть и другие наборы инструментов: для картографии, для работы с Microsoft Excel, утилиты для GTK+ и другие.
С помощью Matplotlib можно делать и анимированные изображения.
Набор поддерживаемых форматов изображений, векторных и растровых, можно получить из словаря FigureCanvasBase.filetypes. Типичные поддерживаемые форматы:
Encapsulated PostScript (EPS)
Enhanced Metafile (EMF)
JPEG
PNG
Postscript
RGBA («сырой» формат)
SVG
SVGZ
TIFF
Кроме того, на основе классов пакета можно создавать и другие модули. Например, для генерации искрографиков.
Ссылки