logo

Seaborn Heatmap - En omfattende guide

Heatmap er defineret som en grafisk repræsentation af data ved hjælp af farver til at visualisere værdien af ​​matrixen. For at repræsentere mere almindelige værdier eller højere aktiviteter bruges lysere farver grundlæggende rødlige farver, og for at repræsentere mindre almindelige værdier eller aktivitetsværdier foretrækkes mørkere farver. Heatmap er også defineret af navnet på skyggematrixen. Heatmaps i Seaborn kan plottes ved at bruge funktionen seaborn.heatmap() .

seaborn.heatmap()

Syntaks: seaborn.heatmap( data , * , vmin=Ingen , vmax=Ingen , cmap=Ingen , center=Ingen , annot_kws=Nej , liniebredder=0 , linecolor = 'hvid' , cbar=Sandt , **kwargs )

Vigtige parametre:



    data: 2D-datasæt, der kan tvinges til en ndarray. vmin, vmax: Værdier til at forankre farvekortet, ellers udledes de fra dataene og andre søgeordsargumenter. cmap: Kortlægningen fra dataværdier til farverum. center: Den værdi, som farvekortet skal centreres ved, når divergerende data plottes. annot: Hvis Sand, skriv dataværdien i hver celle. fmt: Strengformateringskode til brug ved tilføjelse af annoteringer. linjebredder: Bredden af ​​de linjer, der skal dele hver celle. linjefarve: Farven på de linjer, der deler hver celle. cbar: Om der skal tegnes en farvebjælke.

Alle parametre undtagen data er valgfrie.

Vender tilbage: Et objekt af typen matplotlib.axes._subplots.AxesSubplot

Lad os forstå varmekortet med eksempler.

Grundlæggende varmekort

Lav et varmekort med standardparametrene. Vi vil oprette en 10×10 2-D data ved hjælp af dato() funktion af NumPy-modulet.

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 vil bruge de samme data i alle eksemplerne.

Forankring af farvekortet

Hvis vi indstiller min værdi til 30 og vmax værdi til 70, så vil kun celler med værdier mellem 30 og 70 blive vist. Dette kaldes forankring af farvekortet.

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:

Valg af farvekort

I dette vil vi se på cmap parameter. Matplotlib giver os flere farvekort, du kan se på dem alle her . I vores eksempel vil vi bruge fane 20 .

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:

Centrering af farvekortet

Centrering af cmap til 0 ved at sende 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:

Visning af celleværdier

Hvis vi ønsker at vise værdien af ​​cellerne, så sender vi parameteren de siger som Sandt. fmt bruges til at vælge datatypen for indholdet af de viste celler.

java læs fil linje for linje

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:

Tilpasning af skillelinjen

Vi kan ændre tykkelsen og farven på linjerne, der adskiller cellerne ved hjælp af linjebredder og linjefarve parametre hhv.

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:

Skjuler farvelinjen

Vi kan deaktivere farvelinjen ved at indstille cbar parameter til Falsk.

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:

Fjernelse af etiketterne

Vi kan deaktivere x-label og y-label ved at sende False i xticklabels og Yticlabels parametre hhv.

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: