Matplotlib

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Matplotlib
Скриншот программы MatplotlibПример работы matplotlib
Тип библиотека языка Python
Разработчик John Hunter
Последняя версия 3.5.2 (2 мая 2022)
Лицензия matplotlib licence

Matplotlib — библиотека на языке программирования Python для визуализации данных двумерной и трёхмерной графикой. Получаемые изображения могут быть использованы в качестве иллюстраций в публикациях[1].

Matplotlib написан и поддерживался в основном Джоном Хантером (англ. John Hunter) и распространяется на условиях BSD-подобной лицензии. Генерируемые в различных форматах изображения могут быть использованы в интерактивной графике, в научных публикациях, графическом интерфейсе пользователя, веб-приложениях, где требуется построение диаграмм (англ. plotting)[2][3]. В документации автор признаётся, что Matplotlib начинался с подражания графическим командам MATLAB, но является независимым от него проектом[4].

Версия 2.1.1 — последняя стабильная — требует Python версии 2.7 или от 3.4 и выше и версию NumPy от 1.7.1 и выше[5].

Библиотека Matplotlib построена на принципах ООП, но имеет процедурный интерфейс pylab, который предоставляет аналоги команд MATLAB[6].

Возможности

Matplotlib является гибким, легко конфигурируемым пакетом, который вместе с NumPy, SciPy и IPython предоставляет возможности, подобные MATLAB. В настоящее время пакет работает с несколькими графическими библиотеками, включая wxWindows и PyGTK.

Пакет поддерживает многие виды графиков и диаграмм:

Пользователь может указать оси координат, решетку, добавить надписи и пояснения, использовать логарифмическую шкалу или полярные координаты[7].

Несложные трёхмерные графики можно строить с помощью набора инструментов (toolkit) mplot3d. Есть и другие наборы инструментов: для картографии, для работы с Excel, утилиты для GTK и другие[8].

С помощью Matplotlib можно делать и анимированные изображения[9].

Набор поддерживаемых форматов изображений, векторных и растровых, можно получить из словаря FigureCanvasBase.filetypes. Типичные поддерживаемые форматы:

Кроме того, на основе классов пакета можно создавать и другие модули. Например, для генерации искрографиков[10].

Пример

Следующий пример иллюстрирует построение графика[1]:

from pylab import *
plot(range(1, 20),
     [i * i for i in range(1, 20)], 'ro')
savefig('example.png')
show()

Результат работы примера в формате PNG:

Matplotlib example plot.png

Галерея графиков

Примечания

  1. 1,0 1,1 Segaran, 2007.
  2. Tosi, 2009.
  3. Запись о matplotlib Архивная копия от 4 июля 2015 на Wayback Machine (англ.) на PyPI
  4. http://matplotlib.sourceforge.net/users/intro.html Архивная копия от 7 сентября 2012 на Wayback Machine Введение из документации по библиотеке
  5. Требования для инсталляции. Дата обращения: 4 января 2018. Архивировано 24 июня 2021 года.
  6. Экран помощи по пакету pylab можно интерактивно вызвать командами import pylab; help(pylab)
  7. Vaingast, 2009, pp. 183-220.
  8. mplot3d. Дата обращения: 24 июля 2012. Архивировано 7 сентября 2012 года.
  9. Animation API. Дата обращения: 24 июля 2012. Архивировано 2 июля 2012 года.
  10. Grig Gheorghiu. sparkplot: creating sparklines with matplotlib (англ.) (недоступная ссылка) (23 апреля 2005). Архивировано 19 августа 2012 года.

Литература

  • Андреас Мюллер, Сара Гвидо. Введение в машинное обучение с помощью 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.

Ссылки