import matplotlib.pyplot as plt import matplotlib.dates as mdates import datetime as dt x = [dt.datetime(2021, 1, 1), dt.datetime(2021, 2, 1), dt.datetime(2021, 3, 1), dt.datetime(2021, 4, 1)] y = [1, 3, 2, 4] fig, ax = plt.subplots() ax.plot(x, y) # format the x-axis with month-day format date_fmt = mdates.DateFormatter('%m/%d') ax.xaxis.set_major_formatter(date_fmt) fig.autofmt_xdate() plt.show()
import matplotlib.pyplot as plt import matplotlib.dates as mdates import datetime as dt x1 = [dt.datetime(2021, 1, 1), dt.datetime(2021, 2, 1), dt.datetime(2021, 3, 1), dt.datetime(2021, 4, 1)] y1 = [1, 3, 2, 4] x2 = [dt.datetime(2021, 1, 1), dt.datetime(2021, 2, 1), dt.datetime(2021, 3, 1), dt.datetime(2021, 4, 1)] y2 = [4, 2, 3, 1] fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True) ax1.plot(x1, y1, label='Line 1') ax2.plot(x2, y2, label='Line 2') # format x-axis with month-day format date_fmt = mdates.DateFormatter('%m/%d') ax2.xaxis.set_major_formatter(date_fmt) fig.autofmt_xdate() ax1.legend() ax2.legend() plt.show()This code creates a figure with two subplots sharing the same x-axis. Each subplot has its own data to plot. The `sharex` parameter is set to True to share the x-axis. The `mdates.DateFormatter` object and the `fig.autofmt_xdate()` method are used to format the date axis and prevent overlap of the x-axis labels.