Hello Guys, How are you all? Hope You all Are Fine. Today We Are Going To learn about **How to plot a histogram using Matplotlib in Python with a list of data** **in Python**. So Here I am Explain to you all the possible Methods here.

Without wasting your time, Let’s start This Article.

Table of Contents

## How to plot a histogram using Matplotlib in Python with a list of data?

**How to plot a histogram using Matplotlib in Python with a list of data?**I'm assuming a sample list of names corresponding to given probabilities to draw the plot. A simple bar plot serves the purpose here for the given problem.

**plot a histogram using Matplotlib in Python with a list of data**I'm assuming a sample list of names corresponding to given probabilities to draw the plot. A simple bar plot serves the purpose here for the given problem.

## Method 1

Though the question appears to be demanding plotting a histogram using `matplotlib.hist()`

function, it can arguably be not done using the same as the latter part of the question demands to use the given probabilities as the y-values of bars and given names(strings) as the x-values.

I’m assuming a sample list of names corresponding to given probabilities to draw the plot. A simple bar plot serves the purpose here for the given problem. The following code can be used:

import matplotlib.pyplot as plt probability = [0.3602150537634409, 0.42028985507246375, 0.373117033603708, 0.36813186813186816, 0.32517482517482516, 0.4175257731958763, 0.41025641025641024, 0.39408866995073893, 0.4143222506393862, 0.34, 0.391025641025641, 0.3130841121495327, 0.35398230088495575] names = ['name1', 'name2', 'name3', 'name4', 'name5', 'name6', 'name7', 'name8', 'name9', 'name10', 'name11', 'name12', 'name13'] #sample names plt.bar(names, probability) plt.xticks(names) plt.yticks(probability) #This may be included or excluded as per need plt.xlabel('Names') plt.ylabel('Probability')

## Method 2

This is a very round-about way of doing it but if you want to make a histogram where you already know the bin values but dont have the source data, you can use the `np.random.randint`

function to generate the correct number of values within the range of each bin for the hist function to graph, for example:

import numpy as np import matplotlib.pyplot as plt data = [np.random.randint(0, 9, *desired y value*), np.random.randint(10, 19, *desired y value*), etc..] plt.hist(data, histtype='stepfilled', bins=[0, 10, etc..])

as for labels you can align x ticks with bins to get something like this:

#The following will align labels to the center of each bar with bin intervals of 10 plt.xticks([5, 15, etc.. ], ['Label 1', 'Label 2', etc.. ])

**Conclusion**

It’s all About this issue. Hope all Methods helped you a lot. Comment below Your thoughts and your queries. Also, Comment below which Method worked for you? Thank You.

**Also, Read**