Format of datetime in pyplot axis
Solution 1:
You can use DateFormatter
:
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(your_dates, your_data)
# format your data to desired format. Here I chose YYYY-MM-DD but you can set it to whatever you want.
import matplotlib.dates as mdates
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
# rotate and align the tick labels so they look better
fig.autofmt_xdate()
Solution 2:
Apart from manually specifying the datetime format for the axes as shown in the other answer, you may use rcParams to set the format.
The standard is
# date.autoformatter.year : %Y # date.autoformatter.month : %Y-%m # date.autoformatter.day : %Y-%m-%d # date.autoformatter.hour : %m-%d %H # date.autoformatter.minute : %d %H:%M # date.autoformatter.second : %H:%M:%S # date.autoformatter.microsecond : %M:%S.%f
You may change that in the matplotlib rc file,
or inside the code via
plt.rcParams["date.autoformatter.minute"] = "%Y-%m-%d %H:%M:%S"