Q:

Python Histogram with monthly frequencies

I need to make a histogram in Python using matplotlib.  My data is a tuple of frequencies of monthly occurring events as below where x-axis should show the months and y-axis should show the frequencies.  Can anyone help please? 
[('Jun-07', 10),
 ('Jun-08', 15),
 ('Jun-09', 16),
 ('Nov-07', 17),
 ('Nov-08', 16),
 ('Nov-09', 14),
 ('May-11', 16),
 ('May-10', 18),
 ('May-13', 14),
 ('May-12', 14),
 ('May-14', 12),
 ('Jun-14', 10),
 ('Jun-11', 14),
 ('Jun-10', 19),
 ('Jun-13', 13),
 ('Jun-12', 14),
 ('Feb-09', 10),
 ('Nov-14', 10),
 ('Nov-13', 12),
 ('Nov-12', 13)]

A:

If you want the histogram relative to the months, you should do something like :
import calendar
dmonths = dict((v,k) for k,v in enumerate(calendar.month_abbr))

import numpy as np
from matplotlib import pyplot as plt

list1 = [('Jun-07', 10),
 ('Jun-08', 15),
 ('Jun-09', 16),
 ('Nov-07', 17),
 ('Nov-08', 16),
 ('Nov-09', 14),
 ('May-11', 16),
 ('May-10', 18),
 ('May-13', 14),
 ('May-12', 14),
 ('May-14', 12),
 ('Jun-14', 10),
 ('Jun-11', 14),
 ('Jun-10', 19),
 ('Jun-13', 13),
 ('Jun-12', 14),
 ('Feb-09', 10),
 ('Nov-14', 10),
 ('Nov-13', 12),
 ('Nov-12', 13)]

list2 = [dmonths[x[0][:3]] for x in list1]
list3 = [x[1] for x in list1]

plt.hist(np.array(list2), bins=np.array(range(1,12)), weights=np.array(list3))

The first two lines give a lookup table from months to integers.  Afterwards, you only need to extract the names of the months, convert them into integers, and plot the histogram with the values as weights.