Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Lämpökartta | Visualisointi Seabornilla
Ultimate Visualization with Python

bookLämpökartta

Note
Määritelmä

Lämpökartta on menetelmä kaksiulotteisen datan visualisointiin, jossa arvojen suuruudet esitetään väreillä.

Lämpökartan esimerkki

Tässä esimerkissä lämpökarttaa käytetään kuvaamaan muuttujien välisiä korrelaatioita aineistossa.

Yksinkertaisen lämpökartan luominen

seaborn-kirjastossa on funktio nimeltä heatmap(). Sen ainoa pakollinen parametri on data, jonka tulee olla 2D (suorakulmainen) tietoaineisto.

Yksi yleisimmistä lämpökartan käyttötapauksista on korrelaatiomatriisin visualisointi, kuten yllä olevassa esimerkissä. Kun käytössä on DataFrame, tulee ensin kutsua sen corr()-metodia korrelaatiomatriisin saamiseksi, ja vasta tämän matriisin voi antaa argumenttina heatmap()-funktiolle:

Yleinen käyttötapa lämpökartalle on korrelaatiomatriisin esittäminen. Kun käytössä on DataFrame, kutsu ensin sen corr()-metodia saadaksesi korrelaatiomatriisin ja anna sitten tämä matriisi argumenttina heatmap()-funktiolle.

123456789101112131415
import 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()
copy

Korrelaatiomatriisi luotiin käyttämällä vain DataFrame:n numeerisia sarakkeita. Merkkijonoja sisältävät sarakkeet jätettiin pois asettamalla numeric_only=True.

Annotaatiot ja värit

Tämä lämpökartta voidaan tehdä informatiivisemmaksi kirjoittamalla sopiva arvo (korrelaatiokerroin tässä tapauksessa) jokaiseen soluun. Tämä onnistuu yksinkertaisesti asettamalla annot-parametri arvoon True.

Note
Huomio

On myös mahdollista muuttaa lämpökartan värejä asettamalla cmap-parametri (voit tutustua siihen "Choosing color palettes" -artikkelissa).

123456789101112131415
import 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()
copy

Väripalkin oikealla voi poistaa asettamalla cbar=False.

Note
Lisätietoa

Useimmissa tapauksissa tämä riittää lämpökartan mukauttamiseen, mutta voit aina tutustua lisää heatmap() dokumentaatioon.

Luettavuuden parantaminen

Viimeinen asia, joka parantaa lämpökartan luettavuutta, on asteikkojen kääntäminen jo tutuilla xticks()- ja yticks()-funktioilla:

12345678910111213141516171819
import 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()
copy
Tehtävä

Swipe to start coding

  1. Käytä oikeaa menetelmää korrelaatiomatriisin luomiseen.
  2. Aseta menetelmän argumentiksi, että vain numeeriset muuttujat sisällytetään.
  3. Käytä oikeaa funktiota lämpökartan luomiseen.
  4. Aseta correlation_matrix lämpökartan dataksi määrittämällä se ensimmäiseksi argumentiksi.
  5. Lisää matriisin jokaisen solun arvot määrittämällä toinen argumentti.
  6. Aseta lämpökartan paletti (värikartta) 'crest' määrittämällä se kolmanneksi (oikeanpuoleisimmaksi) argumentiksi.
  7. Kierrä x- ja y-akselin asteikkotikkuja 15 astetta vastapäivään määrittämällä avainsana-argumentti xticks()- ja yticks()-funktioissa.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 7
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

close

Awesome!

Completion rate improved to 3.85

bookLämpökartta

Pyyhkäise näyttääksesi valikon

Note
Määritelmä

Lämpökartta on menetelmä kaksiulotteisen datan visualisointiin, jossa arvojen suuruudet esitetään väreillä.

Lämpökartan esimerkki

Tässä esimerkissä lämpökarttaa käytetään kuvaamaan muuttujien välisiä korrelaatioita aineistossa.

Yksinkertaisen lämpökartan luominen

seaborn-kirjastossa on funktio nimeltä heatmap(). Sen ainoa pakollinen parametri on data, jonka tulee olla 2D (suorakulmainen) tietoaineisto.

Yksi yleisimmistä lämpökartan käyttötapauksista on korrelaatiomatriisin visualisointi, kuten yllä olevassa esimerkissä. Kun käytössä on DataFrame, tulee ensin kutsua sen corr()-metodia korrelaatiomatriisin saamiseksi, ja vasta tämän matriisin voi antaa argumenttina heatmap()-funktiolle:

Yleinen käyttötapa lämpökartalle on korrelaatiomatriisin esittäminen. Kun käytössä on DataFrame, kutsu ensin sen corr()-metodia saadaksesi korrelaatiomatriisin ja anna sitten tämä matriisi argumenttina heatmap()-funktiolle.

123456789101112131415
import 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()
copy

Korrelaatiomatriisi luotiin käyttämällä vain DataFrame:n numeerisia sarakkeita. Merkkijonoja sisältävät sarakkeet jätettiin pois asettamalla numeric_only=True.

Annotaatiot ja värit

Tämä lämpökartta voidaan tehdä informatiivisemmaksi kirjoittamalla sopiva arvo (korrelaatiokerroin tässä tapauksessa) jokaiseen soluun. Tämä onnistuu yksinkertaisesti asettamalla annot-parametri arvoon True.

Note
Huomio

On myös mahdollista muuttaa lämpökartan värejä asettamalla cmap-parametri (voit tutustua siihen "Choosing color palettes" -artikkelissa).

123456789101112131415
import 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()
copy

Väripalkin oikealla voi poistaa asettamalla cbar=False.

Note
Lisätietoa

Useimmissa tapauksissa tämä riittää lämpökartan mukauttamiseen, mutta voit aina tutustua lisää heatmap() dokumentaatioon.

Luettavuuden parantaminen

Viimeinen asia, joka parantaa lämpökartan luettavuutta, on asteikkojen kääntäminen jo tutuilla xticks()- ja yticks()-funktioilla:

12345678910111213141516171819
import 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()
copy
Tehtävä

Swipe to start coding

  1. Käytä oikeaa menetelmää korrelaatiomatriisin luomiseen.
  2. Aseta menetelmän argumentiksi, että vain numeeriset muuttujat sisällytetään.
  3. Käytä oikeaa funktiota lämpökartan luomiseen.
  4. Aseta correlation_matrix lämpökartan dataksi määrittämällä se ensimmäiseksi argumentiksi.
  5. Lisää matriisin jokaisen solun arvot määrittämällä toinen argumentti.
  6. Aseta lämpökartan paletti (värikartta) 'crest' määrittämällä se kolmanneksi (oikeanpuoleisimmaksi) argumentiksi.
  7. Kierrä x- ja y-akselin asteikkotikkuja 15 astetta vastapäivään määrittämällä avainsana-argumentti xticks()- ja yticks()-funktioissa.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 7
single

single

some-alt