# Overlapping Histograms with Matplotlib Library in Python

In this tutorial, you will learn how to plot overlapping histograms on the same graph. This is helpful when you want to show a comparison between two sets of data.

Step 1: Import the `matplotlib` library and `matplotlib.pyplot `interface

```import pandas as pd

import matplotlib
%matplotlib inline
import matplotlib.pyplot as plt```

```baby_df = pd.read_csv('baby.csv')

Step 3: Plot overlapping histograms

```# Split the dataframe by column value
smoker_df = baby_df.loc[baby_df['Maternal Smoker'] == True]
nonsmoker_df = baby_df.loc[baby_df['Maternal Smoker'] == False]

# Generate histogram plot
plt.hist(smoker_df["bmi"],
label='Maternal Smokers BMI')

plt.hist(nonsmoker_df['bmi'],
label='Maternal Non-smokers BMI')

plt.legend(loc='upper right')
plt.title('Mother BMI for smokers and non-smokers')
plt.show()```

We’ve generated overlapping histograms! But, in this graph, it’s hard to see the blue histogram. We can give the histograms an opacity value less than 1.0 so that they become translucent, or see-through. This will allow us to see both of them.

Set alpha values

The only difference is adding the optional `alpha` parameter to the `hist` method. The alpha value can be any decimal between 0 and 1. Each plot can have a unique alpha value.

```# Generate histogram plot
plt.hist(smoker_df["bmi"],
alpha=0.5,
label='Maternal Smokers BMI')

plt.hist(nonsmoker_df['bmi'],
alpha=0.5
label='Maternal Non-smokers BMI')```

You can also have more than 2 overlapping plots. In this case, it can be helpful to manually set the color for each histogram. We can do this by adding the `color` parameter to each `hist` call:

```plt.hist(dataset['value'],
alpha=0.5,
label='val 1',
color='red') # customized color parameter

plt.hist(dataset['value2'],
alpha=0.5,
label='val 2',
color='green')

plt.hist(dataset['value3'],
alpha=0.5,
label='val3',
color='yellow')```