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.
Tartalomjegyzék
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.
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.
#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:
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.
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!📉📊