Seaborn Heatmap – En omfattande guide

Seaborn Heatmap – En omfattande guide

Värmekarta definieras som en grafisk representation av data med hjälp av färger för att visualisera matrisens värde. I detta, för att representera vanligare värden eller högre aktiviteter, används ljusare färger i princip rödaktiga färger och för att representera mindre vanliga värden eller aktivitetsvärden, är mörkare färger att föredra. Värmekarta definieras också av namnet på skuggmatrisen. Värmekartor i Seaborn kan plottas genom att använda funktionen seaborn.heatmap() .

seaborn.heatmap()

Syntax: seaborn.heatmap( data , * , vmin=Ingen , vmax=Ingen , cmap=Ingen , center=Ingen , annot_kws=Nej , linjebredder=0 , linecolor='vit' , cbar=Sant , **kwargs )

Viktiga parametrar:

    data: 2D-datauppsättning som kan tvingas till en ndarray. vmin , vmax: Värden för att förankra färgkartan, annars härleds de från data och andra nyckelordsargument. cmap: Mappningen från datavärden till färgrymd. center: Värdet vid vilket färgkartan ska centreras när divergerande data plottas. annot: Om sant, skriv datavärdet i varje cell. fmt: Strängformateringskod som ska användas när du lägger till kommentarer. linjebredder: Bredden på linjerna som delar varje cell. linecolor: Färgen på linjerna som delar varje cell. cbar: Om en färgstapel ska ritas.

Alla parametrar utom data är valfria.

Returnerar: Ett objekt av typen matplotlib.axes._subplots.AxesSubplot

Låt oss förstå värmekartan med exempel.

Grundläggande värmekarta

Att göra en värmekarta med standardparametrarna. Vi kommer att skapa en 10×10 2D-data med hjälp av datum() funktion för NumPy-modulen.

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

Produktion:

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

Vi kommer att använda samma data i alla exempel.

Förankra färgkartan

Om vi ​​ställer in min värde till 30 och vmax värde till 70, då kommer endast cellerna med värden mellan 30 och 70 att visas. Detta kallas att förankra färgkartan.

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

Produktion:

Att välja färgkarta

I detta kommer vi att titta på cmap parameter. Matplotlib förser oss med flera färgkartor, du kan titta på dem alla här . I vårt exempel kommer vi att använda 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()>

Produktion:

Centrera färgkartan

Centrera cmap till 0 genom att passera Centrum parameter som 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()>

Produktion:

Visar cellvärdena

Om vi ​​vill visa värdet på cellerna skickar vi parametern de säger som Sant. fmt används för att välja datatyp för innehållet i cellerna som visas.

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

Produktion:

Anpassa separeringslinjen

Vi kan ändra tjockleken och färgen på linjerna som separerar cellerna med hjälp av linjebredder och linjefärg respektive parametrar.

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

Produktion:

Döljer färgfältet

Vi kan inaktivera färgfältet genom att ställa in cbar parametern till 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()>

Produktion:

Ta bort etiketterna

Vi kan inaktivera x-etiketten och y-etiketten genom att skicka False i xticklabels och ytetiketter respektive parametrar.

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

Produktion: