Heatmap
Een heatmap is een methode voor het visualiseren van tweedimensionale gegevens waarbij kleuren worden gebruikt om de grootte van elke waarde weer te geven.
Dit voorbeeld gebruikt een heatmap om pairwise correlaties tussen variabelen in een dataset weer te geven.
Een eenvoudige heatmap maken
seaborn
heeft een functie genaamd heatmap()
. De enige verplichte parameter is data
, die een 2D (rechthoekige) dataset moet zijn.
De meest voorkomende toepassing van een heatmap is met een correlatiematrix, zoals in het bovenstaande voorbeeld. Gegeven een DataFrame
, roep eerst de corr()
-methode aan om een correlatiematrix te verkrijgen en geef vervolgens deze matrix als argument door aan de functie heatmap()
:
Een veelvoorkomende toepassing van een heatmap is het weergeven van een correlatiematrix. Gegeven een DataFrame
, roep eerst de corr()
-methode aan om de correlatiematrix te verkrijgen en geef vervolgens deze matrix als argument door aan de functie heatmap()
.
123456789101112131415import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # Loading the dataset with the countries data url = 'https://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()
De correlatiematrix is gemaakt met alleen de numerieke kolommen van de DataFrame
. Kolommen met tekstwaarden zijn uitgesloten door numeric_only=True
in te stellen.
Annotaties en Kleuren
Deze heatmap kan informatiever worden gemaakt door de juiste waarde (correlatiecoëfficiënt in dit geval) in elke cel te tonen. Dit kan eenvoudig door de parameter annot
op True
te zetten.
Het is ook mogelijk om de kleuren van onze heatmap aan te passen door de parameter cmap
in te stellen (je kunt dit verder verkennen in het "Kleurenpaletten kiezen" artikel).
123456789101112131415import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # Loading the dataset with the countries data url = 'https://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()
De kleurbalk aan de rechterkant kan worden verwijderd door cbar=False
in te stellen.
In de meeste gevallen is dit alles wat u nodig heeft voor een heatmap-aanpassing, maar u kunt altijd meer ontdekken in de heatmap()
documentatie.
Leesbaarheid Verbeteren
Het laatste wat de leesbaarheid van onze heatmap zou verbeteren, is het roteren van de ticks met behulp van de reeds bekende functies xticks()
en yticks()
:
12345678910111213141516171819import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # Loading the dataset with the countries data url = 'https://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
- Gebruik de juiste methode om een correlatiematrix te maken.
- Stel het argument van de methode zo in dat alleen numerieke variabelen worden meegenomen.
- Gebruik de juiste functie om een heatmap te maken.
- Stel
correlation_matrix
in als de data voor de heatmap door het als eerste argument te specificeren. - Voeg de waarden in elke cel van de matrix toe door het tweede argument te specificeren.
- Stel het palet (kleurenschema) van de heatmap in op
'crest'
door het derde (meest rechtse) argument te specificeren. - Draai de x-as- en y-as-ticks 15 graden tegen de klok in door een keyword-argument in
xticks()
enyticks()
te specificeren.
Oplossing
Bedankt voor je feedback!
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.