You are currently viewing How to make a histogram in python

How to make a histogram in python

Data that is given in multiple categories is shown using a histogram. It is an accurate way of displaying the distribution of numerical data graphically. It is a type of bar plot where the X-axis shows the bin ranges and the Y-axis provides frequency information. In this blog, you will learn about how to make a histogram using various Python libraries like Matplotlib, Seaborn, and Plotly.

What is Histogram?

A histogram is a graph that shows how a dataset is distributed. It is a prediction of a continuous variable’s probability distribution. It is a technique for displaying the frequency with which various values appear in a dataset. The data values are shown on the x-axis, and their frequency is shown on the y-axis. The number of data points that fall within each of the bins, which are used to segment the data, is represented by the height of each bar. In statistics and data analysis, histograms are frequently used to display a dataset’s distribution and spot trends or outliers.

When do we use Histograms?

In general, a histogram can be used to compare the distribution of particular numerical data across several intervals. Histogram examples may make it quick and easy for viewers to understand the main ideas and trends hidden behind a large body of data. They might facilitate decision-making across several departments in a company or organization. 

  • You should look at the distribution of the data to determine whether the output of a process is distributed fairly consistently.
  • Evaluating whether a method can meet the needs of the client 
  • Observing how a supplier’s process produces a certain product’s appearance
  • Determining whether a process has changed from one time period to another and whether the outputs of two or more processes are different.
  • You want to spread the word to others about the quick and easy sharing of data.

A histogram is created by placing a sequence of vertical rectangles next to each other on the X-axis sections, with the bases (sections) being the width of the corresponding class intervals and the heights (areas) being the frequencies of the corresponding classes. The advantages and disadvantages of using histograms to represent data in statistics are listed below.

What are the various types of Histograms?

  • The most fundamental type of histogram, a simple histogram displays the frequency of data points within a set of bins or intervals.
  • Cumulative histogram: Rather than displaying the frequency in each bin, this sort of histogram displays the cumulative frequency of data points.
  • A normalized histogram, as opposed to a simple count, displays the frequency of data points as a percentage of all data points.
  • The frequency of each bin is divided by the total number of data points in the relative frequency histogram, which displays the relative frequency of data points.
  • Density histogram: This kind of histogram displays the density of data points, which is calculated by dividing the frequency of each bin by its width.
  • The logarithmic histogram displays data points’ frequencies on a scale, making it a helpful tool for visualizing data with a broad range of values.

Histogram implementation in Python

The first step is to load all the required libraries

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import plotly.express as px

The second step is to load and read the Titanic dataset using the Pandas library.

df= pd.read_csv(“train.csv”)
df.head()
Overview of the Titanic dataset

The third step is to make the histogram of the Age column using the Seaborn library.

sns.histplot(df[‘Age’])
plt.title(“Distribution of age”)
plt.savefig(“histogram_using_seaborn.png”)
Histogram in Seaborn

The fourth step is to make the histogram using the matplotlib library

plt.hist(df[‘Age’])
plt.title(“Distribution of age”)
plt.savefig(“histogram_using_matplotlib.png”)
Histogram in Matplotlib

The fifth step is to make the Histogram using the plotly library

# pip install -U kaleido
fig = px.histogram(df, x=”Age”,title= “Distribution of Age”)
fig.show()
fig.write_image(“histogram_using_plotly.png”)
Histogram in Plotly

In the above blocks of code, we have seen how to make a histogram of a single column. Now we will see how to plot multiple numerical columns on a single plot using Seaborn and Matplotlib library.

numerical_columns= [“Age”, “Fare”]

plt.figure(figsize=(16,5))
for i,j in zip(range(1, 3),numerical_columns):
    plt.subplot(2, 2, i)
    plt.subplots_adjust(right=0.9,top=1.8)
    sns.histplot(df[j])
    plt.title(‘Histogram of {}’.format(j))
Histogram of multiple columns using Seaborn

Next, the Matplotlib library is used to make a histogram for the Age and fair column.

plt.figure(figsize=(16,5))
for i,j in zip(range(1, 3),numerical_columns):
    plt.subplot(2, 2, i)
    plt.subplots_adjust(right=0.9,top=1.8)
    plt.hist(df[j])
    plt.title(‘Histogram of {}’.format(j))

Histogram of multiple columns using Matplotlib

Insights– The histogram reveals that the majority of the passengers aboard the Titanic ship are between the ages of 20 and 40. In a similar manner, the fare pricing informs us that the ticket costs between 20 and 32.

Advantages of Histogram

  • Determine distribution shape: Histograms can be used to determine the distribution’s shape, including its symmetry, skewness, and multimodality.
  • Handle large datasets: Histograms are capable of handling large datasets and can be used to precisely show data.
  • Histograms are non-parametric, which means they do not make any assumptions about how the data are distributed in their underlying form.
  • Histograms can be used to display category data in addition to numerical data.
  • Histograms are helpful for time series data because they allow you to see how a certain variable evolves over time.

Disadvantages of Histogram

  • Histograms are not the best visualization tool for multi-dimensional data; instead,  heat maps, and scatter plots are preferable.
  • Histograms are less comprehensible than other types of plots, such as box plots, scatter plots and violin plots.
  • Outliers: Because they can skew the distribution and make it challenging to read, outliers can cause histograms to become sensitive.
  • Bin size: Deciding on the ideal bin size might be difficult. The histogram may appear cluttered and be challenging to comprehend if the bin size is too small, while if the bin size is too large, significant features might be lost.
  • Histograms only offer a limited amount of information regarding the actual data values. They do not provide any details about the exact data points; they just display the frequency of occurrences inside each bin.

Conclusion

In this blog, you have learned about how to make histograms in Python using various libraries like matplotlib, seaborn, and plotly. Additionally, we have learned about various types of histograms, and their advantages and disadvantages.

Diksha Thoke

Hello! I am Diksha Thoke, I am a Technical Content Writer with an experience of about 2+ years. I find my major interest in writing content about programming languages that include Python, Data Science, Machine Learning, Deep Learning, NLP, and Computer Vision.