matplotlib

matplotlib — бібліотека на мові програмування Python для візуалізації даних двовимірною 2D графікою (3D графіка також підтримується). Отримувані зображення можуть бути використані як ілюстрації в публікаціях[3].

matplotlib
Приклад роботи matplotlib
Тип бібліотека мови Python
Автор(и) John D. Hunterd[1]
Розробник Джон Хантер
Стабільний випуск 1.5.1 (11 січня, 2016 (2016-01-11))
Версії 3.5.0 (16 листопада 2021)[2]
Репозиторій github.com/matplotlib/matplotlib
Платформа Python
Операційна система крос-платформова
GNU фреймворк GTK і Qt
Мова програмування C++ і Python
Ліцензія matplotlib licence
Онлайн-документація matplotlib.org/stable/contents.html
Вебсайт matplotlib.org

 matplotlib у Вікісховищі

matplotlib написана і підтримується в основному Джоном Хантером і поширюється на умовах BSD-подібної ліцензії. Зображення, які генеруються в різних форматах, можуть бути використані в інтерактивній графіці, наукових публікаціях, графічному інтерфейсі користувача, веб-додатках, де потрібно будувати діаграми (англ. plotting)[4][5]. В документації автор зізнається, що Matplotlib починався з імітування графічних команд MATLAB, але є незалежним від нього проектом[6].

Версія 1.2.0 — остання стабільна — потребує Python версії від 2.6 і вище і версію NumPy від 1.4 і вище[7].

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

Можливості

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

Пакет підтримує багато видів графіків і діаграм:

Користувач може вказати осі координат, сітку, додати підписи і пояснення, використовувати логарифмічну шкалу або полярні координати[9].

Нескладні тривимірні графіки можна будувати з допомогою набору інструментів (toolkit) mplot3d. Існують і інші набори інструментів: для картографії, для роботи з Excel, утиліти для GTK та інші[10].

З допомогою Matplotlib можна створювати і анімовані зображення[11].

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

Крім того, на основі класів пакету можна створювати й інші модулі. Наприклад, для генерування спарклайнів[12].

Порівняння з MATLAB

Інтерфейс pylab дозволяє легко використовувати matplotlib досвідченими користувачами MATLAB.

Нижче наведені деякі переваги використання matplotlib, як аналогу MATLAB:

Приклад

Наступний приклад ілюструє побудову графіка[3]:

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

Галерея графіків

Див. також

Примітки

  1. Calabrese A. N., Brockwell D. J., Tuma R. et al. Matplotlib: A 2D Graphics Environment // Communications BiologyNPG, 2007. — Vol. 3, Iss. 1. — P. 766. — ISSN 2399-3642doi:10.1109/MCSE.2007.55
  2. Release 3.5.0
  3. Segaran, 2007.
  4. Tosi, 2009.
  5. Запис про matplotlib(англ.) на PyPI
  6. http://matplotlib.sourceforge.net/users/intro.html Вступ з документації по бібліотеці
  7. Вимоги для інсталяції
  8. Екран допомоги по пакету pylab можна інтерактивно викликати командами import pylab; help(pylab)
  9. Vaingast, 2009, с. 183-220.
  10. mplot3d
  11. Animation API
  12. Grig Gheorghiu (23 April, 2005). sparkplot: creating sparklines with matplotlib. Архів оригіналу за 19 серпня 2012. Процитовано 31 липня 2015.

Література

  • 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.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.