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

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

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

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

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

Можливості ред.

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

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

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

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

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

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

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

Порівняння з MATLAB ред.

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

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

Приклад ред.

 

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

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

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

Див. також ред.

Примітки ред.

  1. Hunter J. D. Matplotlib: A 2D Graphics Environment // Computing in Science and EngineeringAIP Publishing, 2007. — Vol. 3, Iss. 1. — P. 766. — ISSN 1521-9615; 1558-366Xdoi:10.1109/MCSE.2007.55
  2. https://matplotlib.org/stable/users/license.html?highlight=free%20open%20source
  3. https://matplotlib.org/stable/users/installing.html#installing-an-official-release
  4. а б Segaran, 2007.
  5. Tosi, 2009.
  6. Запис про matplotlib [Архівовано 4 липня 2015 у Wayback Machine.](англ.) на PyPI
  7. http://matplotlib.sourceforge.net/users/intro.html [Архівовано 7 вересня 2012 у Wayback Machine.] Вступ з документації по бібліотеці
  8. Вимоги для інсталяції. Архів оригіналу за 15 травня 2011. Процитовано 31 липня 2015.
  9. Екран допомоги по пакету pylab можна інтерактивно викликати командами import pylab; help(pylab)
  10. Vaingast, 2009, с. 183-220.
  11. mplot3d. Архів оригіналу за 7 вересня 2012. Процитовано 31 липня 2015.
  12. Animation API. Архів оригіналу за 2 липня 2012. Процитовано 31 липня 2015.
  13. 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.

Посилання ред.