Siltuma karte ir definēts kā datu grafisks attēlojums, izmantojot krāsas, lai vizualizētu matricas vērtību. Lai attēlotu biežākas vērtības vai augstākas aktivitātes, tiek izmantotas spilgtākas krāsas, galvenokārt sarkanīgas krāsas, un, lai attēlotu mazāk izplatītas vai aktivitātes vērtības, priekšroka tiek dota tumšākām krāsām. Siltuma karti nosaka arī ēnošanas matricas nosaukums. Siltuma kartes programmā Seaborn var uzzīmēt, izmantojot funkciju seaborn.heatmap().
seaborn.heatmap()
Sintakse: seaborn.heatmap( datus , * , vmin=Nav , vmax=Nav , cmap=Nav , centrs=Nav , annot_kws=Nē , līniju platumi = 0 , linecolor='white' , cbar=Tiesa , **kwargs )
Svarīgi parametri:
dati: 2D datu kopa, ko var piespiest ndarray. vmin , vmax: Vērtības, lai nostiprinātu krāsu karti, pretējā gadījumā tās tiek izsecinātas no datiem un citiem atslēgvārdu argumentiem. cmap: kartēšana no datu vērtībām uz krāsu telpu. centrs: vērtība, pēc kuras centrēt krāsu karti, veidojot atšķirīgus datus. annot: ja True, ierakstiet datu vērtību katrā šūnā. fmt: virknes formatēšanas kods, kas jāizmanto, pievienojot anotācijas. linewidths: līniju platums, kas sadalīs katru šūnu. linecolor: līniju krāsa, kas sadalīs katru šūnu. cbar: vai zīmēt krāsu joslu.
Visi parametri, izņemot datus, nav obligāti.
Atgriež: Objekts, kura tips ir matplotlib.axes._subplots.AxesSubplot
Ļaujiet mums saprast siltuma karti ar piemēriem.
Pamata siltuma karte
Siltuma kartes izveidošana ar noklusējuma parametriem. Mēs izveidosim 10 × 10 2-D datus, izmantojot datums() NumPy moduļa funkcija.
Python3
# importing the modules> import> numpy as np> import> seaborn as sn> import> matplotlib.pyplot as plt> > # generating 2-D 10x10 matrix of random numbers> # from 1 to 100> data>=> np.random.randint(low>=> 1>,> >high>=> 100>,> >size>=> (>10>,>10>))> print>(>'The data to be plotted:
'>)> print>(data)> > # plotting the heatmap> hm>=> sn.heatmap(data>=> data)> > # displaying the plotted heatmap> plt.show()> |
>
>
Izvade:
The data to be plotted: [[46 30 55 86 42 94 31 56 21 7] [68 42 95 28 93 13 90 27 14 65] [73 84 92 66 16 15 57 36 46 84] [ 7 11 41 37 8 41 96 53 51 72] [52 64 1 80 33 30 91 80 28 88] [19 93 64 23 72 15 39 35 62 3] [51 45 51 17 83 37 81 31 62 10] [ 9 28 30 47 73 96 10 43 30 2] [74 28 34 26 2 70 82 53 97 96] [86 13 60 51 95 26 22 29 14 29]]>

Mēs izmantosim tos pašus datus visos piemēros.
Krāsu kartes noenkurošana
Ja mēs iestatām min vērtība līdz 30 un vmax vērtību līdz 70, tad tiks parādītas tikai šūnas ar vērtībām no 30 līdz 70. To sauc par krāsu kartes noenkurošanu.
Python3
# importing the modules> import> numpy as np> import> seaborn as sn> import> matplotlib.pyplot as plt> > # generating 2-D 10x10 matrix of random numbers> # from 1 to 100> data>=> np.random.randint(low>=>1>,> >high>=>100>,> >size>=>(>10>,>10>))> > # setting the parameter values> vmin>=> 30> vmax>=> 70> > # plotting the heatmap> hm>=> sn.heatmap(data>=>data,> >vmin>=>vmin,> >vmax>=>vmax)> > # displaying the plotted heatmap> plt.show()> |
>
>
Izvade:

Krāsu kartes izvēle
Šajā mēs apskatīsim cmap parametrs. Matplotlib nodrošina mums vairākas krāsu kartes, jūs varat apskatīt tās visas šeit . Mūsu piemērā mēs izmantosim cilne20 .
Python3
# importing the modules> import> numpy as np> import> seaborn as sn> import> matplotlib.pyplot as plt> > # generating 2-D 10x10 matrix of random numbers> # from 1 to 100> data>=> np.random.randint(low>=>1>,> >high>=>100>,> >size>=>(>10>,>10>))> > # setting the parameter values> cmap>=> 'tab20'> > # plotting the heatmap> hm>=> sn.heatmap(data>=>data,> >cmap>=>cmap)> > # displaying the plotted heatmap> plt.show()> |
>
>
Izvade:

Krāsu kartes centrēšana
Cmma centrēšana līdz 0, nolaižot garām centrs parametrs kā 0.
Python3
# importing the modules> import> numpy as np> import> seaborn as sn> import> matplotlib.pyplot as plt> > # generating 2-D 10x10 matrix of random numbers> # from 1 to 100> data>=> np.random.randint(low>=>1>,> >high>=>100>,> >size>=>(>10>,>10>))> > # setting the parameter values> cmap>=> 'tab20'> center>=> 0> > # plotting the heatmap> hm>=> sn.heatmap(data>=>data,> >cmap>=>cmap,> >center>=>center)> > # displaying the plotted heatmap> plt.show()> |
>
>
Izvade:

Šūnu vērtību parādīšana
Ja mēs vēlamies parādīt šūnu vērtību, mēs nododam parametru viņi saka kā Patiess. fmt tiek izmantots, lai atlasītu parādīto šūnu satura datu tipu.
1 no 1000
Python3
# importing the modules> import> numpy as np> import> seaborn as sn> import> matplotlib.pyplot as plt> > # generating 2-D 10x10 matrix of random numbers> # from 1 to 100> data>=> np.random.randint(low>=>1>,> >high>=>100>,> >size>=>(>10>,>10>))> > # setting the parameter values> annot>=> True> > # plotting the heatmap> hm>=> sn.heatmap(data>=>data,> >annot>=>annot)> > # displaying the plotted heatmap> plt.show()> |
>
>
Izvade:

Atdalīšanas līnijas pielāgošana
Mēs varam mainīt līniju biezumu un krāsu, kas atdala šūnas, izmantojot līniju platumi un linecolor attiecīgi parametri.
Python3
# importing the modules> import> numpy as np> import> seaborn as sn> import> matplotlib.pyplot as plt> > # generating 2-D 10x10 matrix of random numbers> # from 1 to 100> data>=> np.random.randint(low>=>1>,> >high>=>100>,> >size>=>(>10>,>10>))> > # setting the parameter values> linewidths>=> 2> linecolor>=> 'yellow'> > # plotting the heatmap> hm>=> sn.heatmap(data>=>data,> >linewidths>=>linewidths,> >linecolor>=>linecolor)> > # displaying the plotted heatmap> plt.show()> |
>
>
Izvade:

Krāsu joslas slēpšana
Mēs varam atspējot krāsu joslu, iestatot cbar parametru uz False.
Python3
# importing the modules> import> numpy as np> import> seaborn as sn> import> matplotlib.pyplot as plt> > # generating 2-D 10x10 matrix of random numbers> # from 1 to 100> data>=> np.random.randint(low>=>1>,> >high>=>100>,> >size>=>(>10>,>10>))> > # setting the parameter values> cbar>=> False> > # plotting the heatmap> hm>=> sn.heatmap(data>=>data,> >cbar>=>cbar)> > # displaying the plotted heatmap> plt.show()> |
>
>
Izvade:

Etiķešu noņemšana
Mēs varam atspējot x-label un y-label, nododot False xticklabels un yticlabels attiecīgi parametri.
Python3
# importing the modules> import> numpy as np> import> seaborn as sn> import> matplotlib.pyplot as plt> > # generating 2-D 10x10 matrix of random numbers> # from 1 to 100> data>=> np.random.randint(low>=>1>,> >high>=>100>,> >size>=>(>10>,>10>))> > # setting the parameter values> xticklabels>=> False> yticklabels>=> False> > # plotting the heatmap> hm>=> sn.heatmap(data>=>data,> >xticklabels>=>xticklabels,> >yticklabels>=>yticklabels)> > # displaying the plotted heatmap> plt.show()> |
>
>
Izvade:
