Plot Histogram in Python

PythonAlex picture PythonAlex · May 8, 2011 · Viewed 49k times · Source

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?

Answer

joaquin picture joaquin · May 8, 2011

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()

enter image description here