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

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.

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

1. 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.

2. 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.