Python

Kuumakaardid ja kolbaraadid Matplotlibis

Kuumakaardid ja kolbaraadid Matplotlibis
Andmete visualiseerimine on andmeteaduse (või mis tahes muu teaduse) jaoks kõige olulisem samm. Me inimestena oskame ridu ja numbririda mõtestada halvasti. Seetõttu on alati kasulik, kui on olemas selline utiliit nagu Matplotlib, mis aitab meil välja arendada visuaalse intuitsiooni toimuvast, kui näiteks masinõppe algoritm liigitab tohutul hulgal andmeid.

Kui graafikuid, mis näitavad kahe muutuja, näiteks pikkuse ja kaalu, suhet, saab hõlpsalt joonistada lamekuvale, nagu allpool näidatud, muutuvad asjad tõesti segaseks, kui meil on rohkem kui kaks parameetrit.

See on siis, kui inimesed proovivad 3D-kruntidele üle minna, kuid need on sageli segased ja kohmakad, mis rikub andmete visualiseerimise kogu eesmärgi. Vajame visuaalide jaoks kuumakaarte.

Mis on kuumakaardid?

Kui vaatate pilti termokaamerast, näete sõna otseses mõttes kuumakaarti. Termokaamera näitab erinevat temperatuuri eri värvidena. Värviskeem pöördub meie sisetunde poole, et punane on “soe värv” ja võtab külmade pindade tähistamiseks sinise ja musta värvi.

See vaade marsile on tõesti hea näide, kus külmad piirkonnad on sinist värvi, samas kui soojemad piirkonnad on enamasti punased ja kollased. Pildi värviriba näitab, mis värvi mis temperatuuri tähistab.

Matplotlibi abil saame seostada graafil oleva punktiga (x, y) konkreetse värviga, mis tähistab muutujat, mida proovime visualiseerida. See ei pea olema temperatuur, see võib olla mõni muu muutuja. Kuvame ka a värviriba selle kõrval, et näidata kasutajatele, mida erinevad värvid tähendavad.

Sageli näete, et inimesed mainisid kuumakaartide asemel värvikaarte. Neid kasutatakse sageli omavahel asendatult. Colormap on üldisem termin.

Matplotlibi ja sellega seotud pakettide installimine ja importimine

Matplotlibiga alustamiseks veenduge, et teil oleks installitud Python (eelistatavalt Python 3 ja pip). Teil on ka vaja numpy, niru ja pandad andmekogumitega töötamiseks. Kuna kavatseme koostada lihtsa funktsiooni, siis ainult kaks paketti numpy ja matplotlib on vajalikud.

$ pip install matplotlib numpy
#või kui teil on installitud nii python kaks kui ka kolm
$ pip3 installige matplotlib numpy

Kui teegid on installitud, peate veenduma, et need on teie pythoni programmi imporditud.

impordi numpy kui np
import matplotlib.püplot nagu plt

Nüüd saate kasutada nende teekide pakutavaid funktsioone, kasutades süntaksit nagu np.numpyfunction ()ja  plt.mõni muu funktsioon ().

Mõned näited

Alustame lihtsa matemaatilise funktsiooni kavandamisest, mis võtab punktid tasapinnale (nende x ja y koordinaadid) ja määrab neile väärtuse. Allpool olev ekraanipilt näitab funktsiooni koos joonistusega.

Erinevad värvid tähistavad erinevaid väärtusi (nagu näitab graafiku kõrval olev skaala). Vaatame koodi, mida saab selle loomiseks kasutada.

impordi numpy kui np
import matplotlib.püplot nagu plt
 
# Matemaatiline funktsioon, mille peame koostama
def z_func (x, y):
tagasipöördumine (1 - (x ** 2 + y ** 3)) * np.aeg (- (x ** 2 + y ** 2) / 2)
# Sisendväärtuste seadistamine
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äljundi arvutamine ja massiivi Z salvestamine
Z = z_funktsioon (X, Y)
 
im = plt.imshow (Z, cmap = plt.cm.RdBu, ulatus = (- 3, 3, 3, -3), interpoleerimine = 'bilineaarne')
 
plt.värviriba (im);
 
plt.pealkiri ('$ z = (1-x ^ 2 + y ^ 3) e ^ - (x ^ 2 + y ^ 2) / 2 $')
 
plt.näita ()

Kõigepealt tuleb märkida, et impordime lihtsalt matplotlibi.proovige väike osa kogu raamatukogust. Kuna projekt on üsna vana, on see aastate jooksul kogunenud palju asju. Näiteks matplotlib.pyplot oli tol ajal populaarne, kuid on nüüd lihtsalt ajalooline reliikvia ja selle importimine lisab teie programmile lihtsalt rohkem paistetust.

Järgmisena määratleme matemaatilise funktsiooni, mida soovime koostada. See võtab kaks väärtust (x, y) ja tagastab kolmanda väärtuse z. Oleme määranud funktsiooni, mida seda veel ei kasutatud.

Järgmises jaotises võetakse ülesanne luua massiiv sisendväärtusi, selleks kasutame numpy, ehkki saate kasutada järku vahemik () funktsiooni, kui soovite. Kui x ja y väärtuste loend on koostatud (vahemikus negatiivsed 3 kuni 3), arvutame selle põhjal z väärtuse.

Nüüd, kui oleme oma sisendid ja väljundid välja arvutanud, saame tulemused kavandada. The plt.imshow () ütleb pythonile, et pilt hakkab tegelema Z-ga, mis on meie väljundmuutuja. Seal on ka öeldud, et sellest saab värvikaart, cmap, punase sinisega (RdBu) Skaala ulatub -3 kuni 3 mõlemal teljel. The interpoleerimine parameeter muudab graafi sujuvamaks, kunstlikult. Vastasel juhul näeks teie pilt üsna piksliline ja jäme.

Sel hetkel luuakse graafik, lihtsalt ei prindita. Seejärel lisame küljele värviriba, mis aitab korreleerida erinevaid Z väärtusi erinevate värvidega ja mainime võrrandit pealkirjas. Neid tehakse sammude kaupa plt.värviriba (im) ja plt.pealkiri (…). Lõpuks näitab funktsiooni kutsumine meile ekraanil olevat graafikut.

Korduvkasutus

Ülalolevat struktuuri saate kasutada mis tahes muu 2D värvikaardi joonistamiseks. Te ei pea isegi matemaatiliste funktsioonide juurde jääma. Kui teie failisüsteemis on tohutu hulga andmeid, võib-olla teavet teatud demograafiliste andmete kohta või muid statistilisi andmeid, saate selle ühendada, muutes X, Y väärtusi värvikaardi jaotust muutmata.

Loodetavasti leidsite selle artikli kasulikuks ja kui teile meeldib sarnane sisu, andke meile sellest teada.

Installige uusim OpenRA strateegiamäng Ubuntu Linuxi
OpenRA on tasuta / tasuta reaalajas strateegiamängumootor, mis loob uuesti Westwoodi varased mängud nagu klassikaline Command & Conquer: Red Alert. Ja...
Installige Linuxile uusim Dolphin Emulator for Gamecube & Wii
Dolphini emulaator võimaldab teil mängida valitud Gamecube & Wii mänge Linuxi personaalarvutites (PC). Vabalt saadaval oleva ja avatud lähtekoodiga m...
Kuidas kasutada GameConquerori petumootorit Linuxis
Artikkel sisaldab juhendit GameConquerori petumootori kasutamise kohta Linuxis. Paljud kasutajad, kes mängivad Windowsis mänge, kasutavad rakendust „C...