Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Mappa di Calore | Visualizzazione con Seaborn
Visualizzazione Avanzata con Python

bookMappa di Calore

Note
Definizione

Una heatmap è un metodo per visualizzare dati bidimensionali utilizzando colori per rappresentare la magnitudine di ciascun valore.

Esempio di heatmap

Questo esempio utilizza una heatmap per rappresentare le correlazioni a coppie tra variabili in un dataset.

Creazione di una Heatmap Semplice

seaborn dispone di una funzione chiamata heatmap(). Il suo unico parametro obbligatorio è data, che deve essere un dataset 2D (rettangolare).

L'utilizzo più comune di una heatmap è con una matrice di correlazione, come nell'esempio sopra. Dato un DataFrame, è necessario prima chiamare il suo metodo corr() per ottenere una matrice di correlazione e solo successivamente passare questa matrice come argomento alla funzione heatmap():

Un caso d'uso frequente per una heatmap è la visualizzazione di una matrice di correlazione. Dato un DataFrame, chiamare prima il metodo corr() per ottenere la matrice di correlazione, quindi passare questa matrice come argomento alla funzione heatmap().

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

La matrice di correlazione è stata creata utilizzando solo le colonne numeriche del DataFrame. Le colonne contenenti stringhe sono state escluse impostando numeric_only=True.

Annotazioni e Colori

Questa heatmap può essere resa più informativa scrivendo il valore appropriato (coefficiente di correlazione nel nostro caso) in ciascuna cella. Ciò può essere fatto semplicemente impostando il parametro annot su True.

Note
Nota

È inoltre possibile modificare i colori della nostra heatmap impostando il parametro cmap (puoi esplorarlo nell'articolo "Scegliere le palette di colori" articolo).

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

La barra dei colori sulla destra può essere rimossa impostando cbar=False.

Note
Approfondisci

Nella maggior parte dei casi questa sarà l'unica personalizzazione necessaria per una heatmap, tuttavia è sempre possibile approfondire consultando la documentazione di heatmap().

Migliorare la leggibilità

L'ultimo aspetto che può migliorare la leggibilità della nostra heatmap è ruotare i tick utilizzando le già note funzioni xticks() e yticks():

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
Compito

Swipe to start coding

  1. Utilizzare il metodo corretto per creare una matrice di correlazione.
  2. Impostare l'argomento del metodo per includere solo variabili numeriche.
  3. Utilizzare la funzione corretta per creare una heatmap.
  4. Impostare correlation_matrix come dati per la heatmap specificando il primo argomento.
  5. Aggiungere i valori in ogni cella della matrice specificando il secondo argomento.
  6. Impostare la palette (mappa colori) della heatmap su 'crest' specificando il terzo (ultimo) argomento.
  7. Ruotare le etichette degli assi x e y di 15 gradi in senso antiorario specificando un argomento keyword in xticks() e yticks().

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 7
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain what a correlation matrix is and why it's useful?

How can I customize the color palette further in the heatmap?

What does the `annot=True` parameter do in the heatmap function?

close

Awesome!

Completion rate improved to 3.85

bookMappa di Calore

Scorri per mostrare il menu

Note
Definizione

Una heatmap è un metodo per visualizzare dati bidimensionali utilizzando colori per rappresentare la magnitudine di ciascun valore.

Esempio di heatmap

Questo esempio utilizza una heatmap per rappresentare le correlazioni a coppie tra variabili in un dataset.

Creazione di una Heatmap Semplice

seaborn dispone di una funzione chiamata heatmap(). Il suo unico parametro obbligatorio è data, che deve essere un dataset 2D (rettangolare).

L'utilizzo più comune di una heatmap è con una matrice di correlazione, come nell'esempio sopra. Dato un DataFrame, è necessario prima chiamare il suo metodo corr() per ottenere una matrice di correlazione e solo successivamente passare questa matrice come argomento alla funzione heatmap():

Un caso d'uso frequente per una heatmap è la visualizzazione di una matrice di correlazione. Dato un DataFrame, chiamare prima il metodo corr() per ottenere la matrice di correlazione, quindi passare questa matrice come argomento alla funzione heatmap().

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

La matrice di correlazione è stata creata utilizzando solo le colonne numeriche del DataFrame. Le colonne contenenti stringhe sono state escluse impostando numeric_only=True.

Annotazioni e Colori

Questa heatmap può essere resa più informativa scrivendo il valore appropriato (coefficiente di correlazione nel nostro caso) in ciascuna cella. Ciò può essere fatto semplicemente impostando il parametro annot su True.

Note
Nota

È inoltre possibile modificare i colori della nostra heatmap impostando il parametro cmap (puoi esplorarlo nell'articolo "Scegliere le palette di colori" articolo).

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

La barra dei colori sulla destra può essere rimossa impostando cbar=False.

Note
Approfondisci

Nella maggior parte dei casi questa sarà l'unica personalizzazione necessaria per una heatmap, tuttavia è sempre possibile approfondire consultando la documentazione di heatmap().

Migliorare la leggibilità

L'ultimo aspetto che può migliorare la leggibilità della nostra heatmap è ruotare i tick utilizzando le già note funzioni xticks() e yticks():

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
Compito

Swipe to start coding

  1. Utilizzare il metodo corretto per creare una matrice di correlazione.
  2. Impostare l'argomento del metodo per includere solo variabili numeriche.
  3. Utilizzare la funzione corretta per creare una heatmap.
  4. Impostare correlation_matrix come dati per la heatmap specificando il primo argomento.
  5. Aggiungere i valori in ogni cella della matrice specificando il secondo argomento.
  6. Impostare la palette (mappa colori) della heatmap su 'crest' specificando il terzo (ultimo) argomento.
  7. Ruotare le etichette degli assi x e y di 15 gradi in senso antiorario specificando un argomento keyword in xticks() e yticks().

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 7
single

single

some-alt