logo

Seaborn Heatmap – Komplexný sprievodca

Tepelná mapa je definovaná ako grafické znázornenie údajov pomocou farieb na vizualizáciu hodnoty matice. V tomto prípade sa na znázornenie bežnejších hodnôt alebo vyšších aktivít používajú jasnejšie farby v podstate červenkasté farby a na znázornenie menej bežných hodnôt alebo hodnôt aktivity sa uprednostňujú tmavšie farby. Teplotná mapa je definovaná aj názvom matice tieňovania. Teplotné mapy v Seaborn je možné vykresliť pomocou funkcie seaborn.heatmap().

seaborn.heatmap()

Syntax: seaborn.heatmap( údajov , * , vmin=Žiadne , vmax=Žiadne , cmap=Žiadne , stred=žiadne , annot_kws=Nie , šírky čiar=0 , linecolor='biela' , cbar=Pravda , **kwargs )



Dôležité parametre:

    údaje: 2D súbor údajov, ktorý je možné previesť do ndarray. vmin, vmax: Hodnoty na ukotvenie mapy farieb, inak sú odvodené z údajov a iných argumentov kľúčových slov. cmap: Mapovanie z údajových hodnôt do farebného priestoru. centrum: Hodnota, na ktorú sa má farebná mapa vycentrovať pri vykresľovaní divergentných údajov. poznámka: Ak je pravda, zapíšte hodnotu údajov do každej bunky. fmt: Kód formátovania reťazca, ktorý sa má použiť pri pridávaní anotácií. linewidths: Šírka čiar, ktoré rozdelia každú bunku. linecolor: Farba čiar, ktoré rozdelia každú bunku. cbar: Či sa má nakresliť farebný pruh.

Všetky parametre okrem údajov sú voliteľné.

Vrátenie: Objekt typu matplotlib.axes._subplots.AxesSubplot



Poďme pochopiť teplotnú mapu s príkladmi.

Základná teplotná mapa

Vytvorenie tepelnej mapy s predvolenými parametrami. Budeme vytvárať 10×10 2-D dáta pomocou dátum() funkcie modulu NumPy.

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()>

>

>

Výkon:

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]]>

Vo všetkých príkladoch použijeme rovnaké údaje.

Ukotvenie farebnej mapy

Ak nastavíme min hodnotu do 30 a vmax hodnotu na 70, potom sa zobrazia len bunky s hodnotami medzi 30 a 70. Toto sa nazýva ukotvenie mapy farieb.

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()>

>

>

Výkon:

Výber farebnej mapy

V tomto sa budeme pozerať na cmmap parameter. Matplotlib nám poskytuje viacero farebných máp, môžete si ich pozrieť všetky tu . V našom príklade budeme používať tab20 .

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()>

>

>

Výkon:

Vycentrovanie mapy farieb

Vycentrovanie Cmap na 0 prejdením stred parameter ako 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()>

>

>

Výkon:

Zobrazenie hodnôt buniek

Ak chceme zobraziť hodnotu buniek, tak parameter prejdeme hovoria ako Pravda. fmt sa používa na výber typu údajov obsahu zobrazených buniek.

skúste catch catch java

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()>

>

>

Výkon:

Prispôsobenie oddeľovacej čiary

Hrúbku a farbu čiar oddeľujúcich bunky môžeme zmeniť pomocou šírky čiar a farba čiar parametre resp.

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()>

>

>

Výkon:

Skrytie farebného pruhu

Farebný pruh môžeme deaktivovať nastavením cbar parameter na hodnotu 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()>

>

>

Výkon:

Odstránenie štítkov

X-label a y-label môžeme deaktivovať prejdením False do xticklabels a yticklabels parametre resp.

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()>

>

>

Výkon: