Varmekart
Et varmekart er en metode for å visualisere todimensjonale data ved å bruke farger for å representere størrelsen på hver verdi.
Dette eksempelet bruker et varmekart for å representere parvise korrelasjoner mellom variabler i et datasett.
Lage et enkelt varmekart
seaborn har en funksjon kalt heatmap(). Dens eneste påkrevde parameter er data, som skal være et 2D (rektangulært) datasett.
Den kanskje vanligste bruken av et varmekart er med en korrelasjonsmatrise som i eksempelet ovenfor. Gitt en DataFrame, bør man først kalle dens corr()-metode for å få en korrelasjonsmatrise, og deretter sende denne matrisen som et argument til funksjonen heatmap():
En vanlig bruk av et varmekart er å vise en korrelasjonsmatrise. Gitt en DataFrame, kall først dens corr()-metode for å hente ut korrelasjonsmatrisen, og send deretter denne matrisen som et argument til funksjonen 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()
Korrelasjonsmatrisen ble laget ved å bruke kun de numeriske kolonnene i DataFrame. Kolonner som inneholder tekst ble utelatt ved å sette numeric_only=True.
Annotasjon og farger
Dette varmekartet kan gjøres mer informativt ved å skrive inn den aktuelle verdien (korrelasjonskoeffisienten i vårt tilfelle) i hver celle. Dette kan enkelt gjøres ved å sette parameteren annot til True.
Det er også mulig å endre fargene for varmekartet ved å sette parameteren cmap (du kan utforske dette i "Choosing color palettes"-artikkelen).
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()
Fargelinjen til høyre kan fjernes ved å sette cbar=False.
I de fleste tilfeller er dette alt du trenger for en tilpasning av heatmap, men du kan alltid utforske mer i heatmap() dokumentasjonen.
Forbedre lesbarhet
Det siste som vil forbedre lesbarheten til vårt heatmap er å rotere merkene ved å bruke de allerede kjente funksjonene 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://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
- Bruk riktig metode for å lage en korrelasjonsmatrise.
- Sett argumentet for metoden til å kun inkludere numeriske variabler.
- Bruk riktig funksjon for å lage et varmekart.
- Sett
correlation_matrixsom data for varmekartet ved å spesifisere det som første argument. - Legg til verdiene i hver celle i matrisen ved å spesifisere det som andre argument.
- Sett paletten (fargekartet) for varmekartet til
'crest'ved å spesifisere det som tredje (høyre) argument. - Roter x-akse- og y-akse-ticks 15 grader mot klokken ved å spesifisere et nøkkelordargument i
xticks()ogyticks().
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 3.85
Varmekart
Sveip for å vise menyen
Et varmekart er en metode for å visualisere todimensjonale data ved å bruke farger for å representere størrelsen på hver verdi.
Dette eksempelet bruker et varmekart for å representere parvise korrelasjoner mellom variabler i et datasett.
Lage et enkelt varmekart
seaborn har en funksjon kalt heatmap(). Dens eneste påkrevde parameter er data, som skal være et 2D (rektangulært) datasett.
Den kanskje vanligste bruken av et varmekart er med en korrelasjonsmatrise som i eksempelet ovenfor. Gitt en DataFrame, bør man først kalle dens corr()-metode for å få en korrelasjonsmatrise, og deretter sende denne matrisen som et argument til funksjonen heatmap():
En vanlig bruk av et varmekart er å vise en korrelasjonsmatrise. Gitt en DataFrame, kall først dens corr()-metode for å hente ut korrelasjonsmatrisen, og send deretter denne matrisen som et argument til funksjonen 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()
Korrelasjonsmatrisen ble laget ved å bruke kun de numeriske kolonnene i DataFrame. Kolonner som inneholder tekst ble utelatt ved å sette numeric_only=True.
Annotasjon og farger
Dette varmekartet kan gjøres mer informativt ved å skrive inn den aktuelle verdien (korrelasjonskoeffisienten i vårt tilfelle) i hver celle. Dette kan enkelt gjøres ved å sette parameteren annot til True.
Det er også mulig å endre fargene for varmekartet ved å sette parameteren cmap (du kan utforske dette i "Choosing color palettes"-artikkelen).
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()
Fargelinjen til høyre kan fjernes ved å sette cbar=False.
I de fleste tilfeller er dette alt du trenger for en tilpasning av heatmap, men du kan alltid utforske mer i heatmap() dokumentasjonen.
Forbedre lesbarhet
Det siste som vil forbedre lesbarheten til vårt heatmap er å rotere merkene ved å bruke de allerede kjente funksjonene 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://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
- Bruk riktig metode for å lage en korrelasjonsmatrise.
- Sett argumentet for metoden til å kun inkludere numeriske variabler.
- Bruk riktig funksjon for å lage et varmekart.
- Sett
correlation_matrixsom data for varmekartet ved å spesifisere det som første argument. - Legg til verdiene i hver celle i matrisen ved å spesifisere det som andre argument.
- Sett paletten (fargekartet) for varmekartet til
'crest'ved å spesifisere det som tredje (høyre) argument. - Roter x-akse- og y-akse-ticks 15 grader mot klokken ved å spesifisere et nøkkelordargument i
xticks()ogyticks().
Løsning
Takk for tilbakemeldingene dine!
single