Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Heatmap | Plotting with Seaborn
Ultimate Visualization with Python

Sveip for å vise menyen

book
Heatmap

Note
Definition

A heatmap is a method for visualizing two-dimensional data using colors to represent the magnitude of each value.

This example uses a heatmap to represent pairwise correlations between variables in a dataset.

Creating a Simple Heatmap

seaborn has a function called heatmap(). Its only required parameter is data which should be a 2D (rectangle) dataset.

Perhaps the most common use case of a heatmap is with a correlation matrix like in the example above. Given a DataFrame, we should first call its corr() method to get a correlation matrix and only then pass this matrix as an argument for the heatmap() function:

A common use case for a heatmap is displaying a correlation matrix. Given a DataFrame, first call its corr() method to obtain the correlation matrix, then pass this matrix as an argument to the heatmap() function.

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

The correlation matrix was created using only the numeric columns of the DataFrame. Columns containing strings were excluded by setting numeric_only=True.

Annotation and Colors

This heatmap can be made more informative via writing the appropriate value (correlation coefficient in our case) in each cell . That can be done simply by setting the annot parameter to True.

Note
Note

It is also possible to change the colors for our heatmap via setting the cmap parameter (you can explore it in the "Choosing color palettes" article).

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

The color bar on the right can be removed by setting cbar=False.

Note
Study More

In most of the cases that's all you will need from a heatmap customization, however, you can always explore more in heatmap() documentation.

Improving Readability

The final thing that would improve the readability of our heatmap is rotating the ticks using already familiar xticks() and yticks() functions:

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
Oppgave

Swipe to start coding

  1. Use the correct method to create a correlation matrix.
  2. Set the argument of the method to include only numeric variables.
  3. Use the correct function to create a heatmap.
  4. Set correlation_matrix to be the data for the heatmap via specifying the first argument.
  5. Add the values in each cell of the matrix via specifying the second argument.
  6. Set the palette (color map) of the heatmap to 'crest' via specifying the third (rightmost) argument.
  7. Rotate x-axis and y-axis ticks by 15 degrees counterclockwise via specifying a keyword argument in xticks() and yticks().

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 7
Vi beklager at noe gikk galt. Hva skjedde?

Spør AI

expand
ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

book
Heatmap

Note
Definition

A heatmap is a method for visualizing two-dimensional data using colors to represent the magnitude of each value.

This example uses a heatmap to represent pairwise correlations between variables in a dataset.

Creating a Simple Heatmap

seaborn has a function called heatmap(). Its only required parameter is data which should be a 2D (rectangle) dataset.

Perhaps the most common use case of a heatmap is with a correlation matrix like in the example above. Given a DataFrame, we should first call its corr() method to get a correlation matrix and only then pass this matrix as an argument for the heatmap() function:

A common use case for a heatmap is displaying a correlation matrix. Given a DataFrame, first call its corr() method to obtain the correlation matrix, then pass this matrix as an argument to the heatmap() function.

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

The correlation matrix was created using only the numeric columns of the DataFrame. Columns containing strings were excluded by setting numeric_only=True.

Annotation and Colors

This heatmap can be made more informative via writing the appropriate value (correlation coefficient in our case) in each cell . That can be done simply by setting the annot parameter to True.

Note
Note

It is also possible to change the colors for our heatmap via setting the cmap parameter (you can explore it in the "Choosing color palettes" article).

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

The color bar on the right can be removed by setting cbar=False.

Note
Study More

In most of the cases that's all you will need from a heatmap customization, however, you can always explore more in heatmap() documentation.

Improving Readability

The final thing that would improve the readability of our heatmap is rotating the ticks using already familiar xticks() and yticks() functions:

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
Oppgave

Swipe to start coding

  1. Use the correct method to create a correlation matrix.
  2. Set the argument of the method to include only numeric variables.
  3. Use the correct function to create a heatmap.
  4. Set correlation_matrix to be the data for the heatmap via specifying the first argument.
  5. Add the values in each cell of the matrix via specifying the second argument.
  6. Set the palette (color map) of the heatmap to 'crest' via specifying the third (rightmost) argument.
  7. Rotate x-axis and y-axis ticks by 15 degrees counterclockwise via specifying a keyword argument in xticks() and yticks().

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 7
Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Vi beklager at noe gikk galt. Hva skjedde?
some-alt