Матплотлиб
Матплотлиб је библиотека за програмски језик Пајтон и то је бројна математика продужена 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()
Још примера
-
Filled contour plot
-
Contour plot
-
Scatter plot
-
Polar plot
-
Line plot
-
3-D plot
-
Image plot
Сетови
[уреди | уреди извор]Неколико сетова је доступно и проширено матплотлиб функционалношћу. Неки од њих су одвојена преузимања, други отпремљени са матплотлиб изворним кодом, али имају спољне зависности.[5]
- Базна мапа: мапа делова са различитим пројекцијама карте, обала и политичких граница[6]
- Копија карте : библиотека мапирања праћена објективно-оријентисаним дефиницијама пројекције карата, и произвољних тачака, линија, полигона и слика могућности трансформације [7] (матплотлиб в1.2 и горе).
- Excel алати: алати за размену података са Microsoft Excel -ом
- GTK алати: приступ GTK+ библиотеци
- Qt приступ
- Mplot3d: 3-D делови
- Natgrid: приступ Natgrid библиотеци за мрежу неправилно распоређених података.
Повезани пројекти
[уреди | уреди извор]- Biggles[8]
- Chaco[9]
- DISLIN
- GNU Octave
- Gnuplot-py[10]
- PLplot – Пајтон недоступно везивање
- PyCha[11] – libcairo имплементација
- PyPlotter[12] – одговарајући Jython -у
- Pyx[13]
- ReportLab (библиотека извештаја)
- Sage (математички софтвер) – користи матплотлиб да скицира делове
- SciPy (модули plt и gplt)
- wxPython (модул wx.lib.plot.py)
- Plotly - за интерактивну, онлине матплотлиб и Пајтон графиконе
Референце
[уреди | уреди извор]- ^ "Matplotlib github stats". matplotlib.org.
- ^ "Announcing Michael Droettboom as the lead matplotlib developer" Архивирано на сајту Wayback Machine (27. октобар 2020). matplotlib.org.
- ^ "What’s new in matplotlib".
- ^ "Matplotlib coding styles". matplotlib.org.
- ^ "Toolkits" Архивирано 2013-06-16 на сајту Archive.today. matplotlib.org.
- ^ Whitaker, Jeffrey.
- ^ Elson, Philip.
- ^ "Bigglessimple, elegant python plotting". biggles.sourceforge.net.
- ^ "Chaco" Архивирано на сајту Wayback Machine (12. јануар 2006). code.enthought.com.
- ^ "Gnuplot.py on". gnuplot-py.sourceforge.net.
- ^ "PyCha" Архивирано на сајту Wayback Machine (22. октобар 2013). bitbucket.org.
- ^ "PyPlotter".
- ^ "PyX". pyx.sourceforge.net/.