Skip to content
Related Articles

Related Articles

Improve Article

Overlapping Histograms with Matplotlib in Python

  • Last Updated : 26 Nov, 2020

Histograms are a way of visualizing the data. Here, we will learn how to plot overlapping histograms in python using Matplotlib library. matplotlib.pyplot.hist() is used for making histograms.

Let’s take the iris dataset and plot various overlapping histograms with Matplotlib.

Step 1: Import the libraries

Python3




# importing libraries
import matplotlib.pyplot as plt
import seaborn as sns

Step 2: Load the dataset



Python3




# load the iris dataset
data = sns.load_dataset('iris')
  
# view the dataset
print(data.head(5))

Step 3: Let us plot histograms for sepal_length and petal_length.

Python3




# plotting histograms
plt.hist(data['petal_length'], 
         label='petal_length')
  
plt.hist(data['sepal_length'], 
         label='sepal_length')
  
plt.legend(loc='upper right')
plt.title('Overlapping')
plt.show()

Here, we can see that some part of the histogram for ‘petal_length’ has been hidden behind the histogram for ‘sepal_length’. To properly visualize both the histograms, we need to set the transparency parameter, alpha to a suitable value. So let’s check various values for alpha and find out the suitable one.

Step 4: Set alpha=0.5 for both sepal_length and petal_length

Python3




plt.hist(data['petal_length'], 
         alpha=0.5, # the transaparency parameter
         label='petal_length')
  
plt.hist(data['sepal_length'],
         alpha=0.5,
         label='sepal_length')
  
plt.legend(loc='upper right')
plt.title('Overlapping with both alpha=0.5')
plt.show()



Step 5: Set alpha=0.1 for sepal_length and 0.9 for petal_length

Python3




plt.hist(data['petal_length'], 
         alpha=0.9,
         label='petal_length')
  
plt.hist(data['sepal_length'],
         alpha=0.1,
         label='sepal_length')
  
plt.legend(loc='upper right')
plt.title('Overlapping with alpha=0.1 and 0.9 for sepal and petal')
plt.show()

Through the above two steps, we can infer that for a better visualization for both the histograms, alpha=0.5 would be the most suitable option for the transparency parameter.

Now, to plot more than two overlapping histograms where we need custom colors, let’s follow step 6.

Step 6: Create more than 2 overlapping histograms with customized colors.

Python3




# plotting more than 2 overlapping histograms
plt.hist(data['sepal_width'], 
         alpha=0.5
         label='sepal_width',
         color='red') # customized color parameter
  
plt.hist(data['petal_width'], 
         alpha=0.5,
         label='petal_width',
         color='green')
  
plt.hist(data['petal_length'], 
         alpha=0.5,
         label='petal_length',
         color='yellow')
  
plt.hist(data['sepal_length'], 
         alpha=0.5,
         label='sepal_length',
         color='purple')
  
plt.legend(loc='upper right')
plt.show()

Thus, in this article, we learned how to plot overlapping histograms using Matplotlib, how to set their transparency values, and customize their colors.

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :