Krajta

Tepelné mapy a barvy v Matplotlibu

Tepelné mapy a barvy v Matplotlibu
Vizualizace dat je jedním z nejdůležitějších kroků v Data Science (nebo jiné vědě, když na to přijde). My jako lidé špatně chápeme řady a řady čísel. Proto je vždy užitečné mít nástroj, jako je Matplotlib, který nám pomůže vytvořit vizuální intuici toho, co se děje, když řekněme, že algoritmus strojového učení klasifikuje obrovské množství dat.

Zatímco grafy ukazující vztah mezi dvěma proměnnými, jako je výška a hmotnost, lze snadno vykreslit na ploché obrazovce, jak je znázorněno níže, věci jsou opravdu chaotické, když máme více než dva parametry.

Tehdy se lidé pokusí přejít na 3D grafy, ale ty jsou často matoucí a neohrabané, což maří celý účel vizualizace dat. Potřebujeme teplotní mapy pro vizuály.

Co jsou tepelné mapy?

Když se podíváte na obrázek z termální kamery, můžete vidět doslovnou teplotní mapu. Termovizní kamera představuje jinou teplotu jako různé barvy. Schéma vybarvení se odvolává na naši intuici, že červená je „teplá barva“, a modrou a černou představuje studené povrchy.

Tento pohled na Mars je opravdu dobrým příkladem, kdy chladné oblasti mají modrou barvu, zatímco teplejší oblasti jsou převážně červené a žluté. Barevný pruh na obrázku ukazuje, jaká barva představuje jakou teplotu.

Pomocí matplotlib můžeme spojit s bodem (x, y) v grafu konkrétní barvu představující proměnnou, kterou se snažíme vizualizovat. Nemusí to být teplota, může to být jakákoli jiná proměnná. Také zobrazíme a barevný pruh vedle označit uživatele, co znamenají různé barvy.

Často můžete vidět lidi, kteří místo teplotních map zmiňují barevné mapy. Často se používají zaměnitelně. Colormap je obecnější termín.

Instalace a import Matplotlib a souvisejících balíčků

Chcete-li začít s Matplotlib, ujistěte se, že máte nainstalován Python (nejlépe Python 3 a pip). Budete také potřebovat numpy, scipy a pandy pracovat s datovými sadami. Protože budeme vykreslovat jednoduchou funkci, pouze dva z balíčků numpy a matplotlib bude nutné.

$ pip install matplotlib numpy
#nebo pokud máte nainstalován python dva i tři
$ pip3 nainstalovat matplotlib numpy

Jakmile nainstalujete knihovny, musíte se ujistit, že jsou importovány do vašeho pythonového programu.

importovat numpy jako np
import matplotlib.pyplot jako plt

Nyní můžete používat funkce poskytované těmito knihovnami pomocí podobné syntaxe np.numpyfunction ()plt.nějaká další funkce ().

Několik příkladů

Začněme s vynesením jednoduché matematické funkce, která vezme body v rovině (jejich souřadnice xay) a přiřadí jim hodnotu. Snímek obrazovky níže zobrazuje funkci spolu s grafem.

Různé barvy představují různé hodnoty (jak ukazuje měřítko vedle grafu). Podívejme se na kód, který lze použít k jeho generování.

importovat numpy jako np
import matplotlib.pyplot jako plt
 
# Matematickou funkci musíme vykreslit
def z_func (x, y):
návrat (1 - (x ** 2 + y ** 3)) * np.exp (- (x ** 2 + y ** 2) / 2)
# Nastavení vstupních hodnot
x = np.arange (-3.0, 3.0, 0.1)
y = np.arange (-3.0, 3.0, 0.1)
X, Y = np.meshgrid (x, y)
 
# Výpočet výstupu a jeho uložení do pole Z
Z = z_func (X, Y)
 
im = plt.imshow (Z, cmap = plt.cm.RdBu, rozsah = (- 3, 3, 3, -3), interpolace = 'bilineární')
 
plt.colorbar (im);
 
plt.title ('$ z = (1-x ^ 2 + y ^ 3) e ^ - (x ^ 2 + y ^ 2) / 2 $')
 
plt.ukázat()

První věc, kterou si všimnete, je, že importujeme pouze matplotlib.pyplot malou část celé knihovny. Jelikož je projekt poměrně starý, za ta léta se toho nashromáždilo mnoho. Například matplotlib.pyplot byl populární už v té době, ale nyní je jen historickou relikvií a jeho import jen přidává do vašeho programu více nafouknutí.

Dále definujeme matematickou funkci, kterou chceme vykreslit. Trvá dvě hodnoty (x, y) a vrátí třetí hodnotu z. Definovali jsme funkci, kterou jsme dosud nepoužívali.

Následující část přebírá úkol vytvořit pole vstupních hodnot, k tomu používáme numpy, i když můžete použít vestavěný rozsah() funkce pro to, pokud chcete. Jakmile je připraven seznam hodnot x a y (od záporných 3 do 3), vypočítáme z něj hodnotu z.

Nyní, když jsme vypočítali naše vstupy a výstupy, můžeme vykreslit výsledky. The plt.imshow () říká pythonu, že obrázek se bude týkat Z, což je naše výstupní proměnná. Rovněž říká, že to bude barevná mapa, cmap, s červeným modrým (RdBu) Měřítko sahající od -3 do 3 na obou osách. The interpolace Díky tomuto parametru je graf umělejší. Jinak by váš obraz vypadal docela pixelovaný a hrubý.

V tomto okamžiku je graf vytvořen, ale není vytištěn. Poté přidáme barevný pruh na stranu, abychom pomohli korelovat různé hodnoty Z s různými barvami a zmínit rovnici v názvu. To se děje v krocích plt.colorbar (im) a plt.titul (…). Nakonec volání funkce nám ukáže graf na obrazovce.

Opakovaná použitelnost

Výše uvedenou strukturu můžete použít k vykreslení jakékoli jiné 2D barevné mapy. Nemusíte se jen držet matematických funkcí. Pokud máte ve svém souborovém systému obrovská pole dat, možná informace o určitých demografických údajích nebo jakákoli jiná statistická data, která můžete připojit úpravou X, Y hodnoty beze změny sekce barevné mapy.

Doufám, že vám byl tento článek užitečný, a pokud se vám líbí podobný obsah, dejte nám vědět.

Jak změnit nastavení myši a touchpadu pomocí Xinput v Linuxu
Většina linuxových distribucí je ve výchozím nastavení dodávána s knihovnou „libinput“ pro zpracování vstupních událostí v systému. Může zpracovávat v...
Přemapujte tlačítka myši odlišně pro jiný software pomocí ovládání myší X-Mouse
Možná potřebujete nástroj, který by mohl změnit ovládání myši u každé aplikace, kterou používáte. V takovém případě můžete vyzkoušet aplikaci s názvem...
Recenze bezdrátové myši Microsoft Sculpt Touch
Nedávno jsem četl o Microsoft Sculpt Touch bezdrátová myš a rozhodl se ji koupit. Po chvíli používání jsem se rozhodl se s ním podělit o své zkušenost...