A Matplotlib bemutatása Pythonban

A Matplotlib egy Python-rajzkönyvtár, amelyet a gépi tanulási szakértők többnyire statikus és interaktív vizualizációk létrehozására használnak.

Mi az a Matplotlib

A Mathplotlib John D. Hunter 2003-ban készült alkotása, amely 2021. május 8-án jelent meg, és a jelenlegi verziója 3.4.2.

Ez a könyvtár nagyrészt Pythonban, míg a többi C objektívben és JavaScriptben íródott, így platformkompatibilis.

A Matplotlib a NumPy-t használja, amely egy Python numerikus kiterjesztés. A NumPy-vel való bővítése növeli a nyílt forráskódú alternatíva életképességét, és jobb előnyben részesíti, mint a MATLAB.

Python GUI-alkalmazások esetén a Matplotlib lehetővé teszi a statikus diagramok nyomtatását rajta a mellékelt objektumorientált API segítségével.

A felhasználók csak néhány sornyi Python-kódot használhatnak adataik megjelenítéséhez különböző diagramok használatával, beleértve a szórt diagramokat, hisztogramokat, oszlopdiagramokat, kördiagramokat, vonaldiagramokat és dobozdiagramokat.

A Matplotlib segítségével diagramokat hozhat létre olyan környezetben, mint például Python shell, Jupyter notebook,
A Jupyter laborban, valamint Pycharm vagy Anaconda használatával, valamint olyan webes alkalmazásszervereken, mint a Flask és a Django, különböző platformokon.

A MATLAB-hoz hasonlóan széles körben szabályozhatja a diagramokat a betűtípusok, vonalak, színek és stílusok tekintetében.

A Pythonban található Matplotib könyvtár rövid bemutatása után nézzük meg, hogyan állíthatjuk be rendszereinkben.

A Matplotlib környezet beállítása

A többi Python-csomaghoz és -könyvtárhoz hasonlóan az előre lefordított Matplotlib könyvtárat és annak csomagjait minden operációs rendszerre telepítheti a pip csomagkezelővel.

Természetesen először telepítenie kell a Python-t és a pip csomagot a rendszerére.

A következő parancsok megjelenítik a Python és a pip verzióját annak ellenőrzésére, hogy ezek az eszközök már telepítve vannak-e.

Ellenőrizze, hogy a Python telepítve van-e

Python --version

Ellenőrizze, hogy a pip telepítve van-e

pip -V

Telepítse a Mathplotlib-et

Az alábbi parancs telepíti a Matplotlib csomagot a Python Package Indexből (PyPI).

python -m pip install matplotlib

Ez a parancs letölti és telepíti a Matplotlib megfelelő csomagjait. A telepítés befejezése után a sikeres telepítésről szóló üzenetnek kell megjelennie.

A Matplotlib sikeres telepítése érdekében írja be a következő parancsot, amely megjeleníti a Matplotlib verzióját a parancssorban.

import matplotlib
matplotlib.__version__

A lefordítatlan Matplotlib csomagot telepíteni kívánó fejlesztőknek hozzá kell férniük a megfelelő fordítóhoz a rendszerükben, a függőségeken, a telepítő szkripteken, a konfigurációs fájlokon és a javításokon kívül.

Ez a bizonyos lefordítatlan Matplolib telepítés azonban bonyolult lehet, különösen a kezdő Matplotlib felhasználók számára. Ezért miért nem használ egy egysoros parancsot a könyvtár telepítéséhez másodpercek alatt?🤔

A Matplotlib telepítése után importálja a csomagot a környezetébe a segédprogramok eléréséhez.

Matplotlib ábrázolási lehetőségek

A Matplotlib számos nyomtatási lehetőséget kínál az adatok megjelenítéséhez. Lehetővé teszi a cselekmények testreszabását is azáltal, hogy különböző témákat, színeket és palettabeállításokat biztosít a felhasználó számára a cselekmények manipulálására.

Ezek az ábrázolási lehetőségek a következők:

#1. Oszlopdiagramok

Az oszlopdiagramok, ismert nevén oszlopdiagramok, megfelelő lehetőséget jelentenek az azonos kategórián belüli értékek mennyiségi összehasonlításának megjelenítésére.

  Játékok elrejtése vagy eltávolítása a Steam-könyvtárból

A Matplotlib ezt a diagramot téglalap alakú oszlopokkal ábrázolja, ahol a hosszúságuk és a magasságuk az arányos értékeket jelenti. A rudak lehetnek vízszintesek vagy függőlegesek.

A Matplotlib a plt.bar() függvényét használja az oszlopdiagram létrehozásához.

Ezen túlmenően, több funkciót is alkalmazhat a diagram kezeléséhez. Például a plt.xlabel() és plt.ylabel() függvények címkézik a gráf x és y tengelyét.

A plt.title() függvény azt is lehetővé teszi, hogy címet adjon a plot-nak, míg a plt.savefig() függvény menti a plot-t. A plot.show() függvény, amely a legfontosabb, megjeleníti a diagramot.

#2. Pite telek

Megjelenítheti az elemek arányos eloszlását ugyanazon a kategóriában egy kördiagramnak nevezett statisztikai diagram segítségével.

A kördiagramok százalékos formában jelenítik meg az adatokat. A diagram teljes területe a teljes adat százalékos arányának felel meg, míg az egyes körszeletek az adatok százalékos arányának szakaszait képviselik.

A Matplotlib a plt.pie() függvényt használja, amely megrajzolja és beállítja a kördiagram paramétereit.
További paraméterek, például az autopct, amelyek a kördiagram értékét 1 tizedesjegyig nyomtatják, hasznosak a kördiagramok ábrázolásakor.

Az üzleti szervezetek a kördiagramokat hasznosnak találják a releváns információk, például a műveletek, értékesítések vagy erőforrások bemutatásában.

#3. Hisztogram

A hisztogram numerikus adateloszlást jelenít meg. Folyamatos időközökkel osztja fel az adatokat különálló szakaszokra.

A fő különbség a hisztogram és az oszlopdiagram között az általuk kezelt adatok típusa. Míg a hisztogramok a folyamatos adattípust kezelik, az oszlopdiagramok helyette kategorikus adatokat.

A Matplotlib a hist() függvényt használja, amely véletlenszerű vagy meghatározott értékekből álló tömböt használ a hisztogram létrehozásához.

#4. Vonalrajzok

Ezek a diagramok hasznosak két, általunk numerikusként és kategorikusként meghatározott adatérték közötti kapcsolat bemutatására X és Y alapon.

A vonaldiagramok jelentősek az adatértékek bizonyos időn belüli változásának követésében.

#5. Scatter plots

A szórásdiagramok rámutatnak a kapcsolatra, beleértve az adatokban szereplő változók közötti korrelációt is. Hasznos a kiugró értékek azonosításában is.

A szóródiagramok pontokat használnak az adatváltozók kapcsolatának ábrázolására, és arra, hogy az egyik változó változása hogyan befolyásolhatja a másikat.

Hogyan készítsünk terveket a Matplotlibben

A Matplotlib különböző függvényeket használ a különböző diagramok létrehozásához. Ezenkívül nagyon kevés kódsort használ a cselekmény létrehozásához.

Az alábbiakban láthatjuk, hogyan hozhat létre különböző nyomtatási lehetőségeket a Matplotlib különböző függvényeivel.

#1. Bár telek a Matplotlibben

Az oszlopdiagramok, amint azt fentebb kifejtettük, adatkategóriákat jelenítenek meg oszlopok és tengelyek használatával, amelyek az egyik tengelyen lévő kategóriák és a másik tengelyen lévő kategóriák megfelelő értékeinek összehasonlítását jelentik.

A Matplotlib bar() függvénye különböző argumentumelrendezéseket használ a bárok elrendezésének leírására, amint az alább látható.

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

Az x és y paraméterek a diagramon lévő oszlop x koordinátaértékeit és y koordinátaértékeit jelentik. A szélesség paraméter a sáv szélességét, míg a magasság paraméter a sáv magasságát jelenti.

Például ábrázoljuk a kutyák és macskák számát egy x nevű állatmenhelyen.

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)

Kimenet:

Bar Plot kimenete a Mathplotlibben

A fenti példánkhoz hasonlóan a color attribútum használatával tovább adhatja a sávok színét. Ezenkívül a plt.xlabel és a p.ylabel az x és y tengelyt, míg a plt.title a cselekményt nevezi meg.

  Távolítsa el a The Netflix Next Episode Countdown & You Watching Prompt [Chrome]

#2. Hogyan hozzunk létre egy tortarajzot

A Matplotlib a pyplot modulhoz tartozó pie() függvényt használja a kördiagram ábrázolásához.
A függvény a megjelenítendő adatokat tömb formában jeleníti meg.

Szintaxis:

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

A színek paraméter állítja be a piteszeletek színét. Értéktömb segítségével minden szelethez színt adhat meg.

A torta minden szeletének további részleteihez az autopct argumentum hozzáadja az egyes szeletek számszerű százalékát a Python String formázási jelölésével. Az explode argumentumként olyan értékeket fogad el, amelyek 0,1-től kezdődnek, hogy meghatározzák a szelet távolságát a torta közepétől.

Rajzoljunk fel egy kördiagramot, amely az erőforrásokat százalékos arányban jeleníti meg egy adott projekthez.

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() 

Kimenet:

A Pie plot kimenete a Mathplotlibben

A fenti diagram egy kördiagramot jelenít meg négy, w, x, y és z címkével ellátott szelettel. Az explode értékek határozzák meg, hogy a szelet milyen távolabb kerüljön a torta közepétől.

A fenti diagramból x messzebb van, mert robbanási értéke nagyobb, mint a többi. Az árnyék attribútum a képen látható módon árnyékot ad a torta diagramhoz, míg az autopct beállítja a teljes torta relatív százalékát, amelyet minden szelet képvisel.

#3. Hisztogram diagram készítése

A hisztogrammal intervallumok sorozatával ábrázoljuk az adott értékek tartományát az x tengelyen.
Az y tengely viszont a frekvencia információt fogja képviselni.

A többi diagramtól eltérően a hisztogramok Matplotlibben történő ábrázolásához előre meghatározott lépésekre van szükség a diagram létrehozásához.

Ezek a lépések a következőket tartalmazzák:

  • Hozzon létre egy tartományt a birtokában lévő adatértékekből. Használhatja az np.random.normal() függvényt, amely véletlenszerű értékeket generálhat Önnek.
  • Intervallumsorozat használatával ossza fel az értékeket egy értéktartományba.
  • Számolja meg az egyes intervallumokba eső értékeket.
  • Most használja a matplotlib.pyplot.hist() függvényt a hisztogram létrehozásához.
  • A hist() függvény számos paramétert vesz fel, többek között:

    x – Ez a tömbsorozatot jelöli

    bins – Ez egy opcionális paraméter, amely olyan változók nem átfedő intervallumait jelöli, amelyek egész számokat vagy karakterlánc-sorozatot tartalmazhatnak.

    tartomány – Meghatározza a rekeszek felső és alsó tartományát

    align – Ez a paraméter szabályozza a hisztogram igazítását. Legyen szó balról, jobbról vagy középről.

    szín – Meghatározza a sávok színét.

    rwidth – Beállítja a hisztogram sávjainak relatív szélességét a tartály szélességéhez.

    log – log paraméter egy log skálát határoz meg a hisztogram tengelyén.

    A következő példa egy hisztogramot ábrázol a meghatározott értékekkel.

    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()
    

    Kimenet:

    A hisztogram diagram kimenete a Mathplotlibben

    #4. Vonalrajz a Matplotlibben

    A Matplotlib a pyplot nevű alkönyvtárát használja, amely különféle funkciókkal segíti a megvalósítást.

    A plot() függvényt használjuk, amely egy általános függvény, amely a pyplothoz tartozik a vonaldiagramok és a különböző egyéb típusú vonaldiagramok ábrázolására, beleértve a görbült és többszörös vonalas diagramokat. A különböző típusú diagramok létrehozása az y tengelynek átadott értékektől függ.

    Nyomtatáskor importálja a matplotlib.pyplot-ot és a Numpy-t, amelyek megrajzolják a diagramokat. A plot(x,y) metódus úgy hozza létre a vonaldiagramot, hogy véletlenszerű értékeket ad át az x és y argumentumoknak.

      Blockchain üzleti modell dióhéjban

    Ezenkívül átadhat egy címkeváltozót, amely felcímkézi a diagramot. A title függvény tovább nevezi a cselekmény címét, míg az xlabel és ylabel függvények a tengelyeket. Végül a show() függvény megjeleníti a diagramot.

    Például:

    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()

    Eredmény:

    Vonalábra kimenete a Mathplotlibben

    Az np.linspace attribútum a diagramon tér vissza, az x értékek egy adott intervallumában egyenletesen elosztott számok halmaza. Ez 10 értékből álló tömböt hoz létre a 0 és 5 közötti tartományban. Az y értékeket az egyenletből hozzák létre, amely x megfelelő értékeit használja.

    Scatter diagramok létrehozása

    A Matplotlib a scatter() metódust használja a plot létrehozásához.
    Ez a módszer a következő paramétereket veszi fel.

    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) 

    Az x_axis_data és y_axis_data paraméterek nem hagyhatók üresen, ellentétben a többi paraméterrel, amelyek opcionálisak lehetnek, és amelyek értéke None. Míg az x_axis_data argumentum egy adattömböt határoz meg az x tengely számára, az y_axis_data egy adattömböt állít be az y tengelyhez.

    Példa egy szóródási diagramra a matplotlibben

    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()

    A kimenete a következő lesz:

    A szóródási diagram kimenete a Mathplotlibben

    Mi a subplot() a matplotlibben

    A subplot() függvénnyel több diagramot is megrajzolhatunk egyetlen Matplotlib ábrán. Ez lehetővé teszi az ábrán belüli több diagram megtekintését és összehasonlítását.

    Ez a függvény egy sor három argumentummal tér vissza; sorok és oszlopok az első és második argumentum, és az aktuális plot indexe a harmadik argumentum.

    A sorok és oszlopok egyértelműen meghatározzák a Matplotlib elrendezését.

    Ezért például a plt.subplot(2, 1, 1) egy kétsoros és egy oszlopos Matplotlib ábrát ábrázol, és ez lesz az első plot.

    Másrészt a plt.subplot(2, 1, 2) egy második diagramot jelenít meg két sorral és egy oszloppal.

    Ha ezt a két diagramot ábrázolja, akkor egymás tetejére hozzuk őket, mint az alábbi példában.

    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()

    A fenti példa kimenete az alábbi képhez hasonlóan fog kinézni.

    Egy másik példával használjuk az alnyomat funkciót két, egysoros és két oszlopos ábra ábrázolására. Ez a parcellákat egymás mellett jeleníti meg.

    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()

    A fenti példa a következő eredményt jeleníti meg.

    Hát ez érdekesen interaktív volt, nem gondolod?😃

    Végső szavak

    A Matplotlib egy híresen használt vizualizációs könyvtár a Pythonban. Interaktivitása és még a kezdők számára is könnyű kezelhetősége még jobb eszközzé teszi Pythonban való ábrázoláshoz.

    Ez a cikk a Matplotlib funkciói által létrehozható különféle diagramok példáit ismerteti, beleértve a kördiagramokat, oszlopdiagramokat, hisztogramokat és szórt diagramokat.

    Természetesen a Python számos más könyvtárral is rendelkezik, amelyeket a gépi tanulási szakértők és adatkutatók használhatnak vizualizációk létrehozására.

    Fedezhet fel több, a Matplotlib segítségével létrehozható plot-t, és azt is, hogy milyen függvényeket fog használni a plot létrehozásához.

    Jó tervezgetést!📉📊