Матплотлиб је библиотека за програмски језик Пајтон и то је бројна математика продужена NumPy -у . Она даје објектно- оријентисани API  за уграђивање парцела у апликације које се користе у опште сврхе GUI матреријала као wxPython, Qt, или GTK +. Такође постоји процедурална приступна Пајтон библиотека базирана на државним машинеријама (као OpenGL), тако да блиско подсећа на MATLAB. SciPy користи матплотлиб.

Матплотлиб је првобитно написао Џон Д. Хантер , има активну развојну заједницу, [1] и дистрибуира под BSD лиценцом. Мајкл Дротбум је номинован као главни стваралац матплотлиба непосредно пре Џон Хантерове смрти 2012.[2]

Од 9. октобра 2015, матплотлиб 1.4.х подржава Пајтон Верзије 2.6 до 3.4. Матплотлиб 1.2 је прва верзија матплотлиба која подржава Пајтон 3.х. [3]

Поређење са МАТЛАБ-омУреди

Приступ Пајтон лабораторији омогућава матплотлиб лаким за учење за искусне кориснике МАТЛАБа, што га чини одрживаном алтернативом МАТЛАБа као наставно средство за нумеричке математике и обраду сигнала.

Неке од предности комбинација Пајтон, NumPy и матплотлиб преко МАТЛАБа укључују:

  •  Заснована на Пајтону, потпуно опремљена модерним објективно-оријентисаним програмским језиком погодним за развој софтвера великих размера
  • Бесплатан, отвореног кода, сервери без лиценце
  •  Матерња SVG подршка

Типично pylab се увози да би NumPy и матплотлиб у један глобални именски простор за највиши МАТЛАБ као синтаксе, међутим експлицитнији увоз стила, чија имена и матплотлиб и NumPy, је пожељан кодирани стил. [4]

Поређење са ГнуплотомУреди

И Гнуплот и Матплотлиб су одрасли у пројекту отвореног кода. Оба могу произвести огромне врсте различитих парцела. Иако је тешко одредити врсту фигуре које се може учинити и друга која не може, они и даље имају различите предности и недостатке.

ПримериУреди

Линија делова

>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> a = np.linspace(0,10,100)
>>> b = np.exp(-a)
>>> plt.plot(a,b)
>>> plt.show()

Хистограм

>>> from numpy.random import normal,rand
>>> x = normal(size=200)
>>> plt.hist(x,bins=30)
>>> plt.show()

Скатер део

>>> a = rand(100)
>>> b = rand(100)
>>> plt.scatter(a,b)
>>> plt.show()

3D део

>>> from matplotlib import cm
>>> from mpl_toolkits.mplot3d import Axes3D
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> fig = plt.figure()
>>> ax = fig.gca(projection='3d')
>>> X = np.arange(-5, 5, 0.25)
>>> Y = np.arange(-5, 5, 0.25)
>>> X, Y = np.meshgrid(X, Y)
>>> R = np.sqrt(X**2 + Y**2)
>>> Z = np.sin(R)
>>> surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm)
>>> plt.show()

Још примера

СетовиУреди

Неколико сетова је доступно и проширено матплотлиб функционалношћу. Неки од њих су одвојена преузимања, други отпремљени са матплотлиб изворним кодом, али имају спољне зависности. [5]

  • Базна мапа: мапа делова са различитим пројекцијама карте, обала и политичких граница [6]
  • Копија карте : библиотека мапирања праћена објективно-оријентисаним дефиницијама пројекције карата, и произвољних тачака, линија, полигона и слика могућности трансформације [7] (матплотлиб в1.2 и горе).
  • Excel алати: алати за размену података са Microsoft Excel -ом
  • GTK алати: приступ GTK+ библиотеци
  • Qt приступ
  • Mplot3d: 3-D делови
  • Natgrid: приступ Natgrid библиотеци за мрежу неправилно распоређених података.

Повезани пројектиУреди

РеференцеУреди

  1. ^ "Matplotlib github stats". matplotlib.org. 
  2. ^ "Announcing Michael Droettboom as the lead matplotlib developer". matplotlib.org. 
  3. ^ "What’s new in matplotlib".
  4. ^ "Matplotlib coding styles". matplotlib.org. 
  5. ^ "Toolkits" Архивирано 2013-06-16 на сајту Archive.today. matplotlib.org. 
  6. ^ Whitaker, Jeffrey.
  7. ^ Elson, Philip.
  8. ^ "Bigglessimple, elegant python plotting". biggles.sourceforge.net.
  9. ^ "Chaco" Архивирано на сајту Wayback Machine (12. јануар 2006). code.enthought.com. 
  10. ^ "Gnuplot.py on". gnuplot-py.sourceforge.net.
  11. ^ "PyCha" Архивирано на сајту Wayback Machine (22. октобар 2013). bitbucket.org. 
  12. ^ "PyPlotter". 
  13. ^ "PyX". pyx.sourceforge.net/.