Sometimes, we want to plot dates on the x-axis with Python’s matplotlib.
In this article, we’ll look at how to plot dates on the x-axis with Python’s matplotlib.
How to plot dates on the x-axis with Python’s matplotlib?
To plot dates on the x-axis with Python’s matplotlib, we convert the date strings to datetime objects with strptime.
For instance, we write
import datetime as dt
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
dates = ['01/02/2022','01/03/2022','01/04/2022']
x = [dt.datetime.strptime(d,'%m/%d/%Y').date() for d in dates]
y = range(len(x))
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator())
plt.plot(x,y)
plt.gcf().autofmt_xdate()
to convert the date strings in the dates list to datetime objects with strptime and put them in the x list.
Then we call set_major_formatter to DateFormatter to format the dates in the x-axis.
And we call set_major_locator with DayLocator to put the dates on the x-axis in the right location.
Then we call plot to plot iterables x and y.
And we call autofmt_xdate to format the dates with DateFormatter.
Conclusion
To plot dates on the x-axis with Python’s matplotlib, we convert the date strings to datetime objects with strptime.