I have two lists, x and y.
x contains the alphabet A-Z and Y contains the frequency of them in a file.
I've tried researching how to plot these values in a histogram but has had no success with understanding how to plot it.
n, bins, patches = plt.hist(x, 26, normed=1, facecolor='blue', alpha=0.75)
Would x be list x in the lists mentioned above?
To create a histogram the first step is to create bin of the ranges, then distribute the whole range of the values into a series of intervals, and count the values which fall into each of the intervals. Bins are clearly identified as consecutive, non-overlapping intervals of variables. The matplotlib. pyplot.
A histogram is drawn like a bar chart, but often has bars of unequal width. It is the area of the bar that tells us the frequency in a histogram, not its height. Instead of plotting frequency on the y-axis, we plot the frequency density. To calculate this, you divide the frequency of a group by the width of it.
Creating Numpy HistogramNumpy has a built-in numpy. histogram() function which represents the frequency of data distribution in the graphical form. The rectangles having equal horizontal size corresponds to class interval called bin and variable height corresponding to the frequency.
hist
works on a collection of values and computes and draws the histogram from them.
In your case you already precalculated the frequency of each group (letter). To represent your data in an histogram form use better matplotlib bar
:
import numpy as np
import matplotlib.pyplot as plt
alphab = ['A', 'B', 'C', 'D', 'E', 'F']
frequencies = [23, 44, 12, 11, 2, 10]
pos = np.arange(len(alphab))
width = 1.0 # gives histogram aspect to the bar diagram
ax = plt.axes()
ax.set_xticks(pos + (width / 2))
ax.set_xticklabels(alphab)
plt.bar(pos, frequencies, width, color='r')
plt.show()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With