import datetime import numpy as np import matplotlib.pyplot as plt import matplotlib.dates as mdates months=mdates.MonthLocator() days=mdates.DayLocator() timeFmt=mdates.DateFormatter('%Y-%m') events=[datetime.date(2018,1,23),datetime.date(2018,1,28),datetime.date(2018,2,3),datetime.date(2018,2,21),datetime.date(2018,3,15),datetime.date(2018,3,23),datetime.date(2018,4,8),datetime.date(2018,4,23)] readings=[12,22,25,20,18,15,17,14] fig,ax=plt.subplots() plt.plot(events,readings) ax.xaxis.set_major_locator(months) ax.xaxis.set_major_formatter(timeFmt) ax.xaxis.set_minor_locator(days)