Piton

Hőtérképek és kolorbárok a Matplotlibben

Hőtérképek és kolorbárok a Matplotlibben
Az adatmegjelenítés az egyik legfontosabb lépés az adattudományban (vagy bármely más tudományban). Mi, emberek, rosszul értjük a sorokat és a számokat. Éppen ezért mindig hasznos, ha van egy olyan segédprogram, mint a Matplotlib, amely segít vizuális intuíciót kialakítani arról, hogy mi történik, amikor mondjuk egy gépi tanulási algoritmus hatalmas mennyiségű adatot osztályoz.

Míg a két változó, például a magasság és a súly közötti viszonyt bemutató grafikonok könnyen ábrázolhatók egy síkképernyőn, az alábbiak szerint, a dolgok nagyon rendetlenné válnak, ha kettőnél több paraméterünk van.

Ekkor próbálják meg az emberek a 3D-s ábrákra váltani, de ezek gyakran zavarosak és nehézkesek, ami meghiúsítja az adatok megjelenítésének teljes célját. Hőtérképekre van szükségünk a látványhoz.

Mik azok a hőtérképek?

Ha hőkameráról nézi a képet, akkor szó szerinti hőtérkép látható. A hőkamerás kamera különböző hőmérsékleteket képvisel, mint különböző színek. A színezés azt a megérzésünket vonzza, hogy a vörös egy „meleg szín”, és a kéket és a feketét jelenti a hideg felületek ábrázolásához.

Ez a marskép valóban jó példa arra, hogy a hideg régiók kék színűek, míg a melegebb régiók jórészt vörös és sárga színűek. A képen található színsáv megmutatja, hogy milyen szín milyen hőmérsékletet képvisel.

A matplotlib használatával társíthatjuk a grafikon egy pontját (x, y) egy adott színnel, amely azt a változót képviseli, amelyet vizualizálni próbálunk. Nem kell, hogy legyen hőmérséklet, lehet bármilyen más változó. Megjelenítjük a színsáv mellette, hogy jelezze a felhasználóknak, mit jelentenek a különböző színek.

Gyakran látta, hogy az emberek hőtérképek helyett colormap-okat emlegetnek. Ezeket gyakran felcserélhető módon használják. A Colormap egy általánosabb kifejezés.

A Matplotlib és a kapcsolódó csomagok telepítése és importálása

A Matplotlib használatának megkezdéséhez ellenőrizze, hogy telepítve van-e a Python (lehetőleg a Python 3 és a pip). Szüksége is lesz számtalan, scipy és pandák az adatkészletekkel dolgozni. Mivel egy egyszerű függvényt fogunk ábrázolni, a csomagok közül csak kettő számtalan és matplotlib szükség lesz.

$ pip install matplotlib numpy
#vagy ha mind a kettő, mind a három Python telepítve van
$ pip3 telepítse a matplotlib numpy-t

Miután telepítette a könyvtárakat, meg kell győződnie arról, hogy azokat importálja-e a python programba.

importálja a numpy-t np-ként
import matplotlib.pyplot mint plt

Most használhatja a könyvtárak által biztosított funkciókat a hasonló szintaxis használatával np.számműködés ()és  plt.valamilyen más funkció ().

Néhány példa

Kezdjük egy egyszerű matematikai függvény megrajzolásával, amely pontokat vesz fel egy síkra (x és y koordinátájuk), és értéket rendel hozzájuk. Az alábbi képernyőkép mutatja a funkciót a cselekménnyel együtt.

A különböző színek különböző értékeket képviselnek (ezt a diagram melletti skála jelzi). Nézzük meg a kódot, amely felhasználható ennek előállítására.

importálja a numpy-t np-ként
import matplotlib.pyplot mint plt
 
# Matematikai függvény, amelyet meg kell ábrázolnunk
def z_func (x, y):
visszatérés (1 - (x ** 2 + y ** 3)) * np.exp (- (x ** 2 + y ** 2) / 2)
# Bemeneti értékek beállítása
x = np.arange (-3.0, 3.0, 0.1)
y = np.arange (-3.0, 3.0, 0.1)
X, Y = np.hálóháló (x, y)
 
# Kimenet kiszámítása és tárolása a Z tömbben
Z = z_func (X, Y)
 
im = plt.imshow (Z, cmap = plt.cm.RdBu, kiterjedés = (- 3, 3, 3, -3), interpoláció = 'bilinear')
 
plt.színsáv (im);
 
plt.cím ('$ z = (1-x ^ 2 + y ^ 3) e ^ - (x ^ 2 + y ^ 2) / 2 $')
 
plt.előadás()

Az első dolog, amit észre kell venni, hogy csak a matplotlibet importáljuk.a teljes könyvtár kis részét pyplot készíteni. Mivel a projekt meglehetősen régi, az évek során rengeteg dolog gyűlt össze. Például matplotlib.A pyplot népszerű volt a napokban, de ma már csak egy történelmi emlék, és az importálása csak még nagyobb duzzanatot jelent a programban.

Ezután meghatározzuk azt a matematikai függvényt, amelyet ábrázolni szeretnénk. Két értéket vesz fel (x, y), és a harmadik z értéket adja vissza. Meghatároztuk a még nem használt függvényt.

A következő szakasz beviteli értékek tömbjének létrehozását veszi igénybe, ehhez a numpy-t használjuk, bár a beépítést is használhatja hatótávolság() funkció, ha úgy tetszik. Miután elkészült az x és y értékek listája (a negatív 3 és 3 között), kiszámoljuk belőle a z értéket.

Most, hogy kiszámoltuk a be- és kimeneteinket, ábrázolhatjuk az eredményeket. A plt.imshow () elmondja a pythonnak, hogy a kép Z-vel fog foglalkozni, ami a kimeneti változónk. Azt is mondja, hogy ez lesz a colormap, egy cmap, piros kékkel (RdBu) -3-tól 3-ig terjedő skála bármelyik tengelyen. A interpoláció paraméter teszi a grafikont simábbá, mesterségesen. Ellenkező esetben a kép elég pixeles és durva lenne.

Ezen a ponton a grafikon létrejön, csak nem nyomtatódik ki. Ezután hozzáadjuk az oldalsó színsávot, hogy segítsen korrelálni a különböző Z értékeket különböző színekkel, és megemlítjük az egyenletet a címben. Ezeket lépésenként végezzük plt.colorbar (im) és plt.cím (…). Végül a függvény meghívása megmutatja a grafikonot a képernyőn.

Újrafelhasználhatóság

A fenti struktúrát felhasználhatja bármely más 2D színtérkép ábrázolásához. Nem is kell ragaszkodnia a matematikai függvényekhez. Ha hatalmas fájltömbök vannak a fájlrendszerében, esetleg egy bizonyos demográfiai adatokra vonatkozó információk, vagy bármilyen más statisztikai adat, ezt beillesztheti a X, Y értékeket a színtérkép-szakasz megváltoztatása nélkül.

Remélem, hasznosnak találta ezt a cikket, és ha kedveli a hasonló tartalmat, tudassa velünk.

Az Xdotool használata az egérkattintások és a billentyűleütések ösztönzéséhez Linux alatt
Az Xdotool egy ingyenes és nyílt forráskódú parancssori eszköz az egérkattintások és a billentyűleütések szimulálására. Ez a cikk egy rövid útmutatót ...
A top 5 ergonómikus számítógépes egértermék Linuxhoz
Hosszan tartó számítógép-használat okoz-e fájdalmat a csuklóján vagy az ujjain?? Merev ízületek szenvednek, és folyamatosan kezet kell rázniuk? Égő fá...
Az egér és az érintőpad beállításainak módosítása az Xinput használatával Linux alatt
A legtöbb Linux disztribúció alapértelmezés szerint „libinput” könyvtárral szállítja a rendszer bemeneti eseményeit. Feldolgozhatja a Wayland és az X ...