logo

Seaborn Heatmap – Ein umfassender Leitfaden

Heatmap ist definiert als eine grafische Darstellung von Daten unter Verwendung von Farben, um den Wert der Matrix zu visualisieren. Dabei werden zur Darstellung häufigerer Werte oder höherer Aktivitäten hellere Farben grundsätzlich rötliche Farben verwendet und zur Darstellung seltenerer Werte oder Aktivitätswerte dunklere Farben bevorzugt. Heatmap wird auch durch den Namen der Schattierungsmatrix definiert. Heatmaps in Seaborn können mit der Funktion seaborn.heatmap() gezeichnet werden.

seaborn.heatmap()

Syntax: seaborn.heatmap( Daten , * , vmin=Keine , vmax=Keine , cmap=Keine , center=Keine , annot_kws=Nein , Linienbreiten=0 , linecolor=’white’ , cbar=True , **Kwargs )

Wichtige Parameter:



    Daten: 2D-Datensatz, der in ein Ndarray umgewandelt werden kann. vmin , vmax: Werte zum Verankern der Farbkarte, andernfalls werden sie aus den Daten und anderen Schlüsselwortargumenten abgeleitet. cmap: Die Zuordnung von Datenwerten zum Farbraum. center: Der Wert, auf den die Farbkarte beim Plotten abweichender Daten zentriert werden soll. Anmerkung: Wenn True, schreiben Sie den Datenwert in jede Zelle. fmt: String-Formatierungscode, der beim Hinzufügen von Anmerkungen verwendet werden soll. Linienbreiten: Breite der Linien, die jede Zelle teilen. Linienfarbe: Farbe der Linien, die jede Zelle teilen. cbar: Ob ein Farbbalken gezeichnet werden soll.

Alle Parameter außer Daten sind optional.

Kehrt zurück: Ein Objekt vom Typ matplotlib.axes._subplots.AxesSubplot

Lassen Sie uns die Heatmap anhand von Beispielen verstehen.

Grundlegende Heatmap

Erstellen einer Heatmap mit den Standardparametern. Wir werden 10×10 2D-Daten mit erstellen Datum() Funktion des NumPy-Moduls.

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

>

>

Ausgabe:

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

Wir werden in allen Beispielen dieselben Daten verwenden.

Verankerung der Farbkarte

Wenn wir das einstellen Mindest Wert auf 30 und die vmax Wenn Sie den Wert auf 70 setzen, werden nur die Zellen mit Werten zwischen 30 und 70 angezeigt. Dies wird als Verankerung der Farbkarte bezeichnet.

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

>

>

Ausgabe:

Auswahl der Farbkarte

Dabei werden wir uns mit dem befassen cmap Parameter. Matplotlib stellt uns mehrere Farbkarten zur Verfügung, Sie können sie alle ansehen Hier . In unserem Beispiel verwenden wir 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()>

>

>

Ausgabe:

Zentrieren der Farbkarte

Zentrieren der cmap auf 0 durch Übergeben von Center Parameter als 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()>

>

>

Ausgabe:

Anzeige der Zellwerte

Wenn wir den Wert der Zellen anzeigen möchten, übergeben wir den Parameter Sie sagen als wahr. fmt wird verwendet, um den Datentyp des Inhalts der angezeigten Zellen auszuwählen.

alphabetische Zahl

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

>

>

Ausgabe:

Anpassen der Trennlinie

Wir können die Dicke und die Farbe der Linien, die die Zellen trennen, mithilfe von ändern Linienbreiten Und Linienfarbe Parameter bzw.

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

>

>

Ausgabe:

Ausblenden der Farbleiste

Wir können die Farbleiste deaktivieren, indem wir festlegen cbar Parameter auf 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()>

>

>

Ausgabe:

Entfernen der Etiketten

Wir können das x-Label und das y-Label deaktivieren, indem wir False in übergeben xticklabels Und yticklabels Parameter bzw.

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

>

>

Ausgabe: