Varmekort
Et heatmap er en metode til at visualisere todimensionale data ved at bruge farver til at repræsentere størrelsen af hver værdi.
Dette eksempel bruger et heatmap til at repræsentere parvise korrelationer mellem variabler i et datasæt.
Oprettelse af et simpelt heatmap
seaborn har en funktion kaldet heatmap(). Dens eneste påkrævede parameter er data, som skal være et 2D (rektangulært) datasæt.
Den mest almindelige anvendelse af et heatmap er med en korrelationsmatrix som i eksemplet ovenfor. Givet en DataFrame skal man først kalde dens corr()-metode for at få en korrelationsmatrix og derefter videregive denne matrix som et argument til funktionen heatmap():
En almindelig anvendelse af et heatmap er visning af en korrelationsmatrix. Givet en DataFrame, kald først dens corr()-metode for at opnå korrelationsmatrixen, og videregiv derefter denne matrix som et argument til funktionen heatmap().
123456789101112131415import 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()
Korrelationsmatrixen blev oprettet ved kun at bruge de numeriske kolonner i DataFrame. Kolonner med tekst blev udelukket ved at sætte numeric_only=True.
Annotation og farver
Dette heatmap kan gøres mere informativt ved at skrive den relevante værdi (korrelationskoefficient i dette tilfælde) i hver celle. Dette kan nemt gøres ved at sætte parameteren annot til True.
Det er også muligt at ændre farverne for vores heatmap ved at sætte parameteren cmap (du kan udforske dette i "Valg af farvepaletter"-artiklen).
123456789101112131415import 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()
Farvestangen til højre kan fjernes ved at sætte cbar=False.
I de fleste tilfælde er dette alt, hvad der kræves for en tilpasning af heatmap, men du kan altid udforske mere i heatmap() dokumentationen.
Forbedring af læsbarhed
Det sidste, der kan forbedre læsbarheden af vores heatmap, er at rotere ticks ved hjælp af de allerede kendte funktioner xticks() og yticks():
12345678910111213141516171819import 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
- Brug den korrekte metode til at oprette en korrelationsmatrix.
- Angiv argumentet for metoden, så kun numeriske variabler inkluderes.
- Brug den korrekte funktion til at oprette et heatmap.
- Angiv
correlation_matrixsom data til heatmappet ved at specificere det som det første argument. - Tilføj værdierne i hver celle i matrixen ved at specificere det andet argument.
- Indstil paletten (farvekortet) for heatmappet til
'crest'ved at specificere det tredje (yderste højre) argument. - Rotér x- og y-aksens mærker 15 grader mod uret ved at angive et nøgleordsargument i
xticks()ogyticks().
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.85
Varmekort
Stryg for at vise menuen
Et heatmap er en metode til at visualisere todimensionale data ved at bruge farver til at repræsentere størrelsen af hver værdi.
Dette eksempel bruger et heatmap til at repræsentere parvise korrelationer mellem variabler i et datasæt.
Oprettelse af et simpelt heatmap
seaborn har en funktion kaldet heatmap(). Dens eneste påkrævede parameter er data, som skal være et 2D (rektangulært) datasæt.
Den mest almindelige anvendelse af et heatmap er med en korrelationsmatrix som i eksemplet ovenfor. Givet en DataFrame skal man først kalde dens corr()-metode for at få en korrelationsmatrix og derefter videregive denne matrix som et argument til funktionen heatmap():
En almindelig anvendelse af et heatmap er visning af en korrelationsmatrix. Givet en DataFrame, kald først dens corr()-metode for at opnå korrelationsmatrixen, og videregiv derefter denne matrix som et argument til funktionen heatmap().
123456789101112131415import 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()
Korrelationsmatrixen blev oprettet ved kun at bruge de numeriske kolonner i DataFrame. Kolonner med tekst blev udelukket ved at sætte numeric_only=True.
Annotation og farver
Dette heatmap kan gøres mere informativt ved at skrive den relevante værdi (korrelationskoefficient i dette tilfælde) i hver celle. Dette kan nemt gøres ved at sætte parameteren annot til True.
Det er også muligt at ændre farverne for vores heatmap ved at sætte parameteren cmap (du kan udforske dette i "Valg af farvepaletter"-artiklen).
123456789101112131415import 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()
Farvestangen til højre kan fjernes ved at sætte cbar=False.
I de fleste tilfælde er dette alt, hvad der kræves for en tilpasning af heatmap, men du kan altid udforske mere i heatmap() dokumentationen.
Forbedring af læsbarhed
Det sidste, der kan forbedre læsbarheden af vores heatmap, er at rotere ticks ved hjælp af de allerede kendte funktioner xticks() og yticks():
12345678910111213141516171819import 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
- Brug den korrekte metode til at oprette en korrelationsmatrix.
- Angiv argumentet for metoden, så kun numeriske variabler inkluderes.
- Brug den korrekte funktion til at oprette et heatmap.
- Angiv
correlation_matrixsom data til heatmappet ved at specificere det som det første argument. - Tilføj værdierne i hver celle i matrixen ved at specificere det andet argument.
- Indstil paletten (farvekortet) for heatmappet til
'crest'ved at specificere det tredje (yderste højre) argument. - Rotér x- og y-aksens mærker 15 grader mod uret ved at angive et nøgleordsargument i
xticks()ogyticks().
Løsning
Tak for dine kommentarer!
single