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 Definitiva con Python

Scorri per mostrare il menu

book
Mappa di Calore

Note
Definizione

Una heatmap è un metodo per visualizzare dati bidimensionali utilizzando colori per rappresentare l'intensità di ciascun valore.

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).

Forse il caso d'uso 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 comune per una heatmap è la visualizzazione di una matrice di correlazione. Dato un DataFrame, chiamare prima il suo 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://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()
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 inserendo il valore appropriato (coefficiente di correlazione in questo caso) in ciascuna cella. Ciò può essere fatto semplicemente impostando il parametro annot su True.

Note
Nota

È anche possibile modificare i colori della nostra heatmap impostando il parametro cmap (puoi esplorarlo nell'articolo "Choosing color palettes").

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

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

Note
Approfondisci

Nella maggior parte dei casi, queste sono tutte le personalizzazioni di cui avrai bisogno per una heatmap, tuttavia puoi sempre 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://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()
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 dei 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
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?

Chieda ad AI

expand
ChatGPT

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

book
Mappa di Calore

Note
Definizione

Una heatmap è un metodo per visualizzare dati bidimensionali utilizzando colori per rappresentare l'intensità di ciascun valore.

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).

Forse il caso d'uso 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 comune per una heatmap è la visualizzazione di una matrice di correlazione. Dato un DataFrame, chiamare prima il suo 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://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()
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 inserendo il valore appropriato (coefficiente di correlazione in questo caso) in ciascuna cella. Ciò può essere fatto semplicemente impostando il parametro annot su True.

Note
Nota

È anche possibile modificare i colori della nostra heatmap impostando il parametro cmap (puoi esplorarlo nell'articolo "Choosing color palettes").

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

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

Note
Approfondisci

Nella maggior parte dei casi, queste sono tutte le personalizzazioni di cui avrai bisogno per una heatmap, tuttavia puoi sempre 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://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()
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 dei 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
Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt