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 npimport 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 npimport 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.