Heatmaps are a powerful way to visualize data matrices and are especially useful for representing correlation matrices. Heatmaps are designed to graphically represent the correlation between different variables in the form of color-coded systems. This type of data visualization is particularly useful in scenarios where we need to understand the relationships between multiple variables simultaneously.
In the R programming language, a variety of libraries and functions are available that allow us to create heatmaps in a simple and effective way. In this tutorial, we are going to guide you through the process of creating a correlation heatmap using R. The steps that we’ll follow are as follows:
- Preparing the Data
- Computing the Correlation Matrix
- Creating a Basic Heatmap
- Enhancing the Heatmap
1. Preparing the Data
The first step in any data analysis is data preparation. For this tutorial, we will use the mtcars
dataset available in R by default. The mtcars
dataset is a compilation of various car attributes, such as miles per gallon (mpg), number of cylinders (cyl), horsepower (hp), etc. We’ll load the dataset using the data() function:
data("mtcars")
Before proceeding, it is essential to get a sense of what the data looks like. We’ll view the first few rows of the data with the head() function:
head(mtcars)
2. Computing the Correlation Matrix
The second step involves computing the correlation matrix. Correlation coefficients quantify the relationship between variables. The correlation coefficient ranges from -1 to 1, with -1 indicating a perfect negative correlation, 1 indicating a perfect positive correlation, and 0 indicating no correlation.
The function cor()
in R computes the correlation matrix for a data frame. Here is how to compute the correlation matrix for the mtcars
data:
cor_matrix <- cor(mtcars)
3. Creating a Basic Heatmap
The basic heatmap can be created using the heatmap()
function in R. The heatmap()
function takes as input a matrix and plots the heatmap.
heatmap(cor_matrix)

This will create a basic heatmap of the correlation matrix. The color scheme of the heatmap goes from red to yellow to white, with red indicating negative correlation, yellow indicating no correlation, and white indicating positive correlation.
However, this heatmap is quite basic, and it doesn’t look very visually appealing. Also, the labels on the x and y axes are not very clear, and it lacks a color key. So, let’s try to improve it.
4. Enhancing the Heatmap
To create a more appealing heatmap, we will use the heatmaply
package, which is part of the plotly
ecosystem. This package creates interactive heatmaps which can be easily manipulated by the user. If you don’t have this package installed, you can install it with:
install.packages("heatmaply")
Then, load the package:
library(heatmaply)
Now, let’s create the heatmap using heatmaply()
:
heatmaply(cor_matrix)

This command will create an interactive heatmap that can be explored by hovering the mouse over the cells. This will show the row and column names, and the correlation coefficient.
In conclusion, creating a correlation heatmap in R is a straightforward process that can provide valuable insights into your data. By following these steps, you can create a visually appealing and interactive heatmap that can be easily interpreted and manipulated.