Multiple Density Plots with Pandas in Python
Last Updated :
23 Jul, 2025
Multiple density plots are a great way of comparing the distribution of multiple groups in your data. We can make multiple density plots using pandas plot.density() function. However, we need to convert data in a wide format if we are using the density function. Wide data represents different groups in different columns. We convert data in a wide format using Pandas pivot() function.
Let's create the simple data-frame and then reshape it into a wide-format:
Example 1:
Here we are using this data set.
Step 1: Creating dataframe from data set.
Python3
import pandas as pd
# creating a dataframe
df = pd.read_csv(r"gapminder1.csv")
df.head()
Output:
dataset
Step 2: Let's group data according to countries in different columns so that we can apply the density() function to plot multiple density plots.
Python3
# converting data into wide-format
data_wide = df.pivot(columns='continent',
values='lifeExp')
data_wide.head()
Output:
Step 3: Now let's plot multiple density plot using plot.density()
Python3
import matplotlib.pyplot as plt
# calling density() to make
# multiple density plot
data_wide.plot.density(figsize = (7, 7),
linewidth = 4)
plt.xlabel("life_Exp")
Output :
Multiple density plots
Example 2: We can also call plot.kde() function on dataframe to make multiple density plots with Pandas.
Here we are using the tips dataset for this example, You can find it here.
Step 1: Creating dataframe from data set.
Python3
import pandas as pd
# creating a dataframe
df = pd.read_csv(r"tips.csv")
df.head()
Output:
tips_df
Step 2: Now apply pivot() function to have dataframe in the wide-format then apply kde() to have multiple density plot.
Python3
# Converting to wide dataframe
data_wide = df.pivot(columns = 'day',
values = 'total_bill')
# plotting multiple density plot
data_wide.plot.kde(figsize = (8, 6),
linewidth = 4)
Output:
tips multiple D.P
Explore
Python Fundamentals
Python Data Structures
Advanced Python
Data Science with Python
Web Development with Python
Python Practice