Matplotlib
Matplotlib — библиотека на языке программирования Python для визуализации данных двумерной и трёхмерной графикой. Получаемые изображения могут быть использованы в качестве иллюстраций в публикациях[3].
Matplotlib написан и поддерживался в основном Джоном Хантером (англ. John Hunter) и распространяется на условиях BSD-подобной лицензии. Генерируемые в различных форматах изображения могут быть использованы в интерактивной графике, в научных публикациях, графическом интерфейсе пользователя, веб-приложениях, где требуется построение диаграмм (англ. plotting)[4][5]. В документации автор признаётся, что Matplotlib начинался с подражания графическим командам MATLAB, но является независимым от него проектом[6].
Версия 2.1.1 — последняя стабильная — требует Python версии 2.7 или от 3.4 и выше и версию NumPy от 1.7.1 и выше[7].
Библиотека Matplotlib построена на принципах ООП, но имеет процедурный интерфейс pylab, который предоставляет аналоги команд MATLAB[8].
Общие сведения
| Matplotlib | |||
|---|---|---|---|
| Тип | библиотека языка Python | ||
| Автор | Джон Д. Хантер[d][2] | ||
| Разработчик | John Hunter | ||
| Написана на | C++ и Python | ||
| Интерфейс | GTK и Qt | ||
| Движки | cairo и Anti-Grain Geometry[d] | ||
| Операционная система | кроссплатформенность | ||
| Первый выпуск | 2003[1] | ||
| Аппаратная платформа | Python | ||
| Последняя версия | 3.5.2 (2 мая 2022) | ||
| Репозиторий | github.com/matplotlib/ma… | ||
| |||
| Лицензия | matplotlib licence | ||
| Сайт | matplotlib.org (англ.) | ||
Возможности
Matplotlib является гибким, легко конфигурируемым пакетом, который вместе с NumPy, SciPy и IPython предоставляет возможности, подобные MATLAB. В настоящее время пакет работает с несколькими графическими библиотеками, включая wxWindows и PyGTK.
Пакет поддерживает многие виды графиков и диаграмм:
- Графики (англ. line plot)
- Диаграммы рассеяния (англ. scatter plot)
- Столбчатые диаграммы (англ. bar chart) и гистограммы (англ. histogram)
- Круговые диаграммы (англ. pie chart)
- Диаграммы стебель-листья (англ. stem plot)
- Контурные графики (англ. contour plot)
- Поля градиентов (англ. quiver)
- Спектральные диаграммы (англ. spectrogram)
Пользователь может указать оси координат, решётку, добавить надписи и пояснения, использовать логарифмическую шкалу или полярные координаты[9].
Несложные трёхмерные графики можно строить с помощью набора инструментов (toolkit) mplot3d. Есть и другие наборы инструментов: для картографии, для работы с Excel, утилиты для GTK и другие[10].
С помощью Matplotlib можно делать и анимированные изображения[11].
Набор поддерживаемых форматов изображений, векторных и растровых, можно получить из словаря FigureCanvasBase.filetypes. Типичные поддерживаемые форматы:
- Encapsulated PostScript (EPS)
- Enhanced Metafile (EMF)
- JPEG
- PNG
- Postscript
- RGBA («сырой» формат)
- SVG
- SVGZ
- TIFF
Кроме того, на основе классов пакета можно создавать и другие модули. Например, для генерации искрографиков[12].
Пример
Галерея графиков
Примечания
Литература
- Андреас Мюллер, Сара Гвидо. Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными = Introduction to Machine Learning with Python: A Guide for Data Scientists. — Вильямс, 2017. — 480 с. — ISBN 978-5-9908910-8-1, 978-1-449-36941-5.
- Дж. Вандер Плас. Python для сложных задач. Наука о данных и машинное обучение = Python Data Science Handbook: Essential Tools for Working with Data. — Питер, 2017. — 576 с. — ISBN 978-5-496-03068-7.
- Toby Segaran. Programming Collective Intelligence: Building Smart Web 2.0 Applications. — O'Reilly Media, Inc., 2007. — 308 с. — ISBN 9780596529321. Имеется перевод: Тоби Сегаран. Программируем коллективный разум. — Символ-Плюс, 2009. — 368 с. — ISBN 5-93286-119-3.
- Sandro Tosi. Matplotlib for Python Developers. — Packt Publishing, 2009. — 308 с. — ISBN 978-1847197900.
- Shai Vaingast. Beginning Python Visualization: Crafting Visual Transformation Scripts. — Springer, 2009. — 384 с. — ISBN 9781430218432.