To set the xticklabels for date in matplotlib, we can take the following steps −
Steps
Set the figure size and adjust the padding between and around the subplots.
Create two lists of epochs and values.
Get a list of dates from epochs.
Create a figure and a set of subplots.
Plot the date and values using plot() method.
Set the xticklabels, get date formatter and set the major formatter.
To remove the overlapping for ticklabels, rotate it by 10.
To display the figure, use show() method.
Example
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import time
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
epochs = [1259969793926, 1259969793927, 1259969793929, 1259969793928, 1259969793939]
values = [-0.5, -0.5, -0.75, -0.5, -1.25]
dates = [time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(date)) for date in epochs]
fig, axes = plt.subplots(1, 1)
line1, = axes.plot(dates, values, lw=2, marker='*', color='r')
axes.set_xticklabels(dates)
fmt = mdates.DateFormatter('%Y-%m-%d %H:%M:%S')
axes.xaxis.set_major_formatter(fmt)
axes.tick_params(rotation=10)
plt.show()Output
It will produce the following output −
