Heatmap
Eine Heatmap ist eine Methode zur Visualisierung zweidimensionaler Daten, bei der Farben verwendet werden, um die Größe jedes Wertes darzustellen.
In diesem Beispiel wird eine Heatmap verwendet, um paarweise Korrelationen zwischen Variablen in einem Datensatz darzustellen.
Erstellen einer einfachen Heatmap
seaborn
bietet eine Funktion namens heatmap()
. Ihr einziges erforderliches Argument ist data
, das ein 2D-Datensatz (Rechteck) sein muss.
Der vielleicht häufigste Anwendungsfall einer Heatmap ist eine Korrelationsmatrix wie im obigen Beispiel. Bei einem DataFrame
sollte zunächst die Methode corr()
aufgerufen werden, um eine Korrelationsmatrix zu erhalten. Erst dann wird diese Matrix als Argument an die Funktion heatmap()
übergeben:
Ein häufiger Anwendungsfall für eine Heatmap ist die Darstellung einer Korrelationsmatrix. Bei einem DataFrame
wird zunächst die Methode corr()
aufgerufen, um die Korrelationsmatrix zu erhalten, und anschließend wird diese Matrix als Argument an die Funktion heatmap()
übergeben.
import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # Loading the dataset with the countries data url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/countries_data.csv' countries_df = pd.read_csv(url, index_col=0) # Creating a correlation matrix with all numeric variables correlation_matrix = countries_df.corr(numeric_only=True) # Creating a heatmap based on the correlation matrix sns.heatmap(correlation_matrix) plt.show()
Die Korrelationsmatrix wurde unter Verwendung nur der numerischen Spalten des DataFrame
erstellt. Spalten mit Zeichenfolgen wurden durch Setzen von numeric_only=True
ausgeschlossen.
Annotation und Farben
Diese Heatmap kann informativer gestaltet werden, indem in jede Zelle der entsprechende Wert (Korrelationskoeffizient in diesem Fall) geschrieben wird. Dies kann einfach durch Setzen des Parameters annot
auf True
erreicht werden.
Es ist ebenfalls möglich, die Farben unserer Heatmap durch Setzen des Parameters cmap
zu ändern (weitere Informationen finden Sie im "Choosing color palettes"-Artikel).
import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # Loading the dataset with the countries data url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/countries_data.csv' countries_df = pd.read_csv(url, index_col=0) # Creating a correlation matrix with all numeric variables correlation_matrix = countries_df.corr(numeric_only=True) # Setting annotation and color palette sns.heatmap(correlation_matrix, annot=True, cmap='viridis') plt.show()
Die Farbskala auf der rechten Seite kann durch Setzen von cbar=False
entfernt werden.
In den meisten Fällen sind dies alle Anpassungen, die Sie für eine Heatmap benötigen. Weitere Möglichkeiten zur Anpassung finden Sie jedoch in der heatmap()
Dokumentation.
Lesbarkeit verbessern
Der letzte Schritt zur Verbesserung der Lesbarkeit unserer Heatmap ist das Drehen der Achsenbeschriftungen mit den bereits bekannten Funktionen xticks()
und yticks()
:
import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # Loading the dataset with the countries data url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/countries_data.csv' countries_df = pd.read_csv(url, index_col=0) # Creating a correlation matrix with all numeric variables correlation_matrix = countries_df.corr(numeric_only=True) # Creating a heatmap based on the correlation matrix sns.heatmap(correlation_matrix, annot=True, cmap='viridis') # Rotating the ticks by 20 degrees counterclockwise plt.xticks(rotation=20) plt.yticks(rotation=20) plt.show()
Swipe to start coding
- Die korrekte Methode zur Erstellung einer Korrelationsmatrix verwenden.
- Das Argument der Methode so setzen, dass nur numerische Variablen einbezogen werden.
- Die richtige Funktion zur Erstellung einer Heatmap verwenden.
correlation_matrix
als Daten für die Heatmap festlegen, indem das erste Argument entsprechend angegeben wird.- Die Werte in jeder Zelle der Matrix hinzufügen, indem das zweite Argument angegeben wird.
- Die Farbpalette (colormap) der Heatmap auf
'crest'
setzen, indem das dritte (rechte) Argument angegeben wird. - Die x- und y-Achsenbeschriftungen um 15 Grad gegen den Uhrzeigersinn drehen, indem ein Schlüsselwortargument in
xticks()
undyticks()
angegeben wird.
Lösung
Danke für Ihr Feedback!