Увод у Матплотлиб у Питхон-у

Матплотлиб је Питхон библиотека за цртање коју стручњаци за машинско учење углавном користе за креирање статичких и интерактивних визуелизација.

Шта је Матплотлиб

Матхплотлиб је креација Џона Д. Хантера 2003. која је објављена 8. маја 2021. и има актуелну верзију 3.4.2.

Ова библиотека је углавном написана у Питхон-у, док је остатак написан у Ц објективу и ЈаваСцрипт-у, што је чини компатибилном са платформом.

Матплотлиб користи НумПи, што је Питхон нумеричко проширење. Његово проширење са НумПи-ом додаје његову одрживост као алтернативу отвореног кода и чини га бољом преференцијом од МАТЛАБ-а.

За Питхон ГУИ апликације, Матплотлиб дозвољава исцртавање статичких дијаграма на њему користећи објектно оријентисани АПИ са којим долази.

Корисници могу да користе само неколико написаних редова Питхон кода да би визуелизовали своје податке користећи различите дијаграме, укључујући дијаграме расејања, хистограме, тракасте графиконе, кружне графиконе, линијске графиконе и дијаграме у оквиру.

Можете користити Матплотлиб за креирање дијаграма у окружењима укључујући Питхон схелл, Јупитер нотебоок,
Јупитер лабораторију и такође користећи Пицхарм или Анацонда и на серверима веб апликација као што су Фласк и Дјанго на различитим платформама.

Као у МАТЛАБ-у, можете екстензивно да контролишете дијаграме у смислу фонтова, линија, боја и стилова.

Након кратког представљања Матплотиб библиотеке у Питхон-у, хајде да видимо како је можемо подесити у нашим системима.

Подешавање Матплотлиб окружења

Као и сваки други Питхон пакет и библиотека, можете инсталирати унапред компајлирану Матплотлиб библиотеку и њене пакете у свим оперативним системима помоћу менаџера пакета пип.

Наравно, потребно је да прво инсталирате Питхон и пип пакет на свој систем.

Следеће команде приказују верзију Питхон-а и пип-а да би потврдиле да ли су ови алати већ инсталирани.

Проверите да ли је Питхон инсталиран

Python --version

Проверите да ли је пип инсталиран

pip -V

Инсталирајте Матхплотлиб

Наредба у наставку инсталира пакет Матплотлиб из индекса Питхон пакета (ПиПИ).

python -m pip install matplotlib

Ова команда преузима и инсталира релевантне пакете Матплотлиб-а. Требало би да видите поруку о успешној инсталацији након што се инсталација заврши.

Да бисте били сигурни да је Матплотлиб успешно инсталиран, откуцајте следећу команду, која ће приказати верзију Матплотлиб-а у вашој командној линији.

import matplotlib
matplotlib.__version__

Програмери који желе да инсталирају непреведени Матплотлиб пакет морају имати приступ правом компајлеру у свом систему, поред зависности, скрипти за подешавање, конфигурационих датотека и закрпа.

Међутим, ова конкретна непреведена инсталација Матплолиб-а може бити компликована, посебно за нове кориснике Матплотлиб-а. Стога, зашто једноставно не користите команду у једном реду да бисте инсталирали библиотеку за неколико секунди?🤔

Након инсталације Матплотлиб-а, увезите пакет у своје окружење да бисте приступили његовим услужним програмима.

Опције исцртавања Матплотлиб-а

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

  Како користити нову алатку за слике екрана Фирефок-а

Ове опције за цртање укључују:

#1. Тракасти графикони

Тракасти графикони, познати као тракасти графикони, су погодна опција за визуелизацију квантитативног поређења вредности унутар исте категорије.

Матплотлиб представља ову графику користећи правоугаоне шипке где њихове дужине и висине представљају њихове пропорционалне вредности. Шипке могу бити хоризонталне или вертикалне.

Матплотлиб користи своју плт.бар() функцију за креирање траке.

Поред тога, можете користити више функција за манипулацију овом парцелом. На пример, функције плт.клабел() и плт.илабел() означавају к и и осе графикона, респективно.

Функција плт.титле() такође вам омогућава да дате наслов вашој графици, док функција плт.савефиг() чува графикон. Функција плот.схов(), која је најважнија, приказује дијаграм.

#2. Пие плотс

Можете визуализовати пропорционалну дистрибуцију ставки унутар исте категорије користећи кружни статистички дијаграм који називамо тортним графиконима.

Питограми приказују податке у процентуалном облику. Целокупна област графикона одговара проценту целог податка, док појединачни делови колача представљају делове процента података.

Матплотлиб користи плт.пие() функцију која црта и прилагођава параметре кружног графикона.
Више параметара као што је аутопцт који штампају вредност кружног графикона до 1 децималног места корисни су у цртању кружних дијаграма.

Пословне организације сматрају да су тортни графикони корисни у представљању релевантних информација као што су операције, продаја или ресурси.

#3. Хистограм

Хистограм приказује нумеричку дистрибуцију података. Користи непрекидне интервале да подели податке у различите делове.

Главна разлика између хистограма и тракастог графикона је врста података којима рукују. Док хистограми рукују непрекидним типом података, тракасти графикони обрађују категоричке податке.

Матплотлиб користи хист() функцију која користи низ насумичних или дефинисаних вредности за креирање хистограма.

#4. Лине плотс

Ови дијаграми су корисни за приказивање односа између две вредности података које дефинишемо као нумеричке и категоричке, на основу Кс и И.

Линијски графикони су значајни у праћењу промене вредности података током неког времена.

#5. Сцаттер плотс

Дијаграми расипања указују на однос, укључујући корелацију између варијабли у подацима. Такође је корисно у идентификацији одступања.

Дијаграми расипања користе тачке да представљају однос променљивих података и како промена једне променљиве може утицати на другу.

Како креирати парцеле у Матплотлиб-у

Матплотлиб користи различите функције за креирање различитих дијаграма. Такође користи врло мало линија кода за креирање заплета.

У наставку видимо како да креирате различите опције за цртање користећи различите функције у Матплотлиб-у.

#1. Бар парцела у Матплотлибу

Тракасти графикони, као што је горе објашњено, приказују категорије података користећи траке и осе које представљају поређење категорија на једној оси и одговарајућих вредности категорија на другој оси.

Функција бар() у Матплотлиб-у узима различите распореде аргумената да опише изглед шипки, као што је приказано испод.

plt.bar(x, y, height, width, bottom, align)

Параметри к и и представљају вредности к координата и вредности и координата шипке на графикону. Параметар ширине представља ширину шипке, док параметар висине представља висину шипке.

На пример, представимо број паса и мачака у склоништу за животиње званом к.

import matplotlib.pyplot as plt
import numpy as np

x = ["Cats", "Dogs"]
plt.xlabel("Cats and Dogs in Shelter")
plt.ylabel("No. of animals in Shelter")
plt.title("Number of cats and dogs in shelter x")
y = [300, 350]
plt.bar(x, y, color="black", width = 0.5)

Излаз:

  Истраживање моћи страсти

Излаз Бар Плот у Матхплотлиб

Као у нашем примеру изнад, можете даље одредити боју трака користећи атрибут боја. Штавише, плт.клабел и п.илабел именују к и и осе, респективно, док плт.титле именује графикон.

#2. Како направити заплет пита

Матплотлиб користи функцију пие() која долази са пиплот модулом за исцртавање тортног графикона.
Функција представља податке за исцртавање у облику низа.

Синтакса:

matplotlib.pyplot.pie(data, explode=None, labels=None, colors=None, autopct=None, shadow=False)

Параметар боје поставља боју кришки колача. Можете користити низ вредности да бисте одредили боју за сваку кришку.

Да би додатно укључио детаље сваког пресека у колачу, аргумент аутопцт додаје нумеричке проценте које сваки пресек представља користећи Питхон-ову нотацију за форматирање стрингова. Екплоде као аргумент прихвата низ вредности које почињу од 0,1 да дефинишу растојање пресека од центра колача.

Хајде да нацртамо кружни графикон који приказује ресурсе у процентима додељеним за одређени пројекат.

import matplotlib.pyplot as plt
import numpy as np

y = np.array([25, 10, 45, 20])
mylabels = ["w", "x", "y", "z"]
explodevalues = [0.1, 0.2, 0, 0]
colors = ['tab:blue', 'tab:green', 'tab:orange', 'tab:red']
plt.title("Resources allocated for a random project")
plt.pie(y, labels = mylabels, colors=colors,explode = explodevalues, autopct="%1.1f%%", shadow = True)
plt.show() 

Излаз:

Излаз дијаграма колача у Матхплотлиб-у

Горњи дијаграм приказује тортни графикон са четири пресека означена са в, к, и, и з, респективно. Вредности експлодирања дефинишу колико ће се кришке даље поставити од центра колача.

Из горњег графикона, к је даље јер је његова вредност експлодирања већа од осталих. Атрибут схадов додаје сенку дијаграму колача као на слици, док аутопцт поставља релативни проценат целе колаче који сваки комад представља.

#3. Креирање графикона хистограма

Са хистограмом, користићемо низ интервала да представимо опсег датих вредности на к-оси.
С друге стране, И-оса ће представљати информације о фреквенцији.

За разлику од других дијаграма, цртање хистограма у Матплотлиб-у захтева неке унапред дефинисане кораке које морате да пратите да бисте креирали дијаграм.

Ови кораци укључују:

  • Направите корпу опсега из скупа вредности података који имате. Можете користити функцију нп.рандом.нормал() која може да генерише насумичне вредности за вас.
  • Користећи низ интервала, распоредите вредности у опсег вредности.
  • Избројите вредности које спадају у сваки одређени интервал.
  • Сада користите функцију матплотлиб.пиплот.хист() да креирате хистограм.
  • Хист() функција узима неколико параметара, укључујући:

    к – Ово представља низ низа

    бинс – Ово је опциони параметар који представља непреклапајуће интервале променљивих који могу да садрже целе бројеве или низ низова.

    опсег – Дефинише горњи и доњи опсег канти

    алигн – Овај параметар контролише поравнање хистограма. Било лево, десно или средње.

    боја – Дефинише боју шипки.

    рвидтх – Поставља релативну ширину трака на хистограму на ширину корпе.

    лог – параметар лог дефинише скалу дневника на оси хистограма.

    Следећи пример исцртава хистограм са дефинисаним вредностима.

    from matplotlib import pyplot as plt
    
    x = [22, 40, 87, 5, 43, 30, 56,73, 55, 54, 11, 20, 51, 5,  50, 60, 70, 80]
    
    plt.hist(x)
    plt.title(Histogram plot example')
    plt.xlabel('x axis')
    plt.ylabel('frequency')
    plt.show()
    

    Излаз:

    Излаз графикона хистограма у Матхплотлиб

    #4. Линијски приказ у Матплотлибу

    Матплотлиб користи своју подбиблиотеку звану пиплот, која долази са различитим функцијама које помажу у његовој имплементацији.

    Користимо функцију плот(), која је генеричка функција која долази са пиплот-ом за цртање линијских дијаграма и различитих других типова линија, укључујући закривљене графиконе и вишеструке линије. Креирање ових различитих врста графикона зависи од вредности које прослеђујете и-оси.

      Екран мог иПхоне-а или иПад-а се неће окретати. Како да то поправим?

    Када цртате, увезите матплотлиб.пиплот и Нумпи, који цртају графиконе. Метод плот(к,и) креира линијски графикон прослеђивањем случајних вредности у аргументе к и и.

    Поред тога, можете проследити променљиву ознаке која означава графикон. Функција титле даље именује наслов графикона, док функције клабел и илабел именују осе. Коначно, функција схов() приказује заплет.

    На пример:

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(0, 5, 10)
    
    y = 3*x + 2
    plt.title('Line plot example')
    plt.xlabel('x axis')
    plt.ylabel('y axis')
    plt.plot(x, y)
    plt.show()

    резултат:

    Излаз линије у Матхплотлиб-у

    Атрибут нп.линспаце враћа на графику, скуп равномерно распоређених бројева у одређеном интервалу за к вредности. Ово ће креирати низ од 10 вредности у опсегу од 0 и 5. Вредности и су креиране из једначине која користи одговарајуће вредности к.

    Креирање дијаграма распршивања

    Матплотлиб користи методу сцаттер() да креира овај дијаграм.
    Овај метод узима у обзир следеће параметре.

    matplotlib.pyplot.scatter(x_axis_data, y_axis_data, s=None, c=None, marker=None, cmap=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None) 

    Параметри к_акис_дата и и_акис_дата не могу бити остављени празни, за разлику од осталих параметара који могу бити опциони и имају Ноне као вредност. Док аргумент к_акис_дата дефинише низ података за к-осу, и_акис_дата поставља низ података за и-осу.

    Пример дијаграма расејања у матплотлиб-у

    import matplotlib.pyplot as plt
     
    x =[15, 17, 18, 27, 22, 27, 32, 14, 11, 12, 29, 16]
     
    y =[19, 16, 17, 18, 10, 26, 13, 27, 14, 18, 17, 35]
    plt.title('Scatter plot example')
    plt.xlabel('x variable')
    plt.ylabel('y variable')
    plt.scatter(x, y, c ="green")
     
    # To show the plot
    plt.show()

    Његов излаз ће се допасти:

    Излаз дијаграма расејања у Матхплотлиб-у

    Шта је субплот() у матплотлиб-у

    Функција субплот() може се користити за цртање више дијаграма на једној Матплотлиб слици. Ово омогућава преглед и поређење вишеструких дијаграма на слици.

    Ова функција ће вратити тупле са три аргумента; редове и колоне као први и други аргумент, респективно, и индекс тренутног графикона као трећи аргумент.

    Редови и колоне јасно дефинишу изглед Матплотлиб-а.

    Према томе, плт.субплот(2, 1, 1) ће, на пример, исцртати фигуру Матплотлиб-а са два реда и једном колоном, а ова графика ће бити прва графика.

    С друге стране, плт.субплот(2, 1, 2) приказује други графикон са два реда и једном колоном.

    Исцртавање ове две графике ће их створити један на другом, као у примеру испод.

    import matplotlib.pyplot as plt
    import numpy as np
    
    #plot 1:
    x = np.array([2, 4, 6, 8])
    y = np.array([3, 6, 9, 12])
    
    plt.subplot(2, 1, 1)
    plt.plot(x,y)
    
    #plot 2:
    x = np.array([3, 6, 9, 12])
    y = np.array([1, 2, 3, 4])
    
    plt.subplot(2, 1, 2)
    plt.plot(x,y)
    
    plt.show()

    Резултат горњег примера ће изгледати као на слици испод.

    Користећи другачији пример, хајде да користимо функцију субплот да исцртамо две фигуре са једним редом и две колоне. Ово ће приказати парцеле једну поред друге.

    import matplotlib.pyplot as plt
    import numpy as np
    
    #plot 1:
    x = np.array([2, 4, 6, 8])
    y = np.array([3, 6, 9, 12])
    
    plt.subplot(1, 2, 1)
    plt.plot(x,y)
    
    #plot 2:
    x = np.array([3, 6, 9, 12])
    y = np.array([1, 2, 3, 4])
    
    plt.subplot(1, 2, 2)
    plt.plot(x,y)
    
    plt.show()

    Горњи пример ће приказати следећи резултат.

    Па, то је било занимљиво интерактивно, зар не?😃

    Завршне речи

    Матплотлиб је позната библиотека визуелизације у Питхон-у. Његова интерактивност и могућност лаке употребе чак и за почетнике чине га још бољим алатом за цртање у Питхон-у.

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

    Наравно, Питхон има неколико других библиотека које стручњаци за машинско учење и научници података могу користити за креирање визуализација.

    Можете истражити више дијаграма које можете креирати помоћу Матплотлиб-а и које функције ћете користити за креирање дијаграма.

    Срећно планирање!📉📊