如何设置日期图 x 轴的格式,以便月份以字母显示

Cur*_*tis 5 python matplotlib

我一直在尝试更改 X 轴标签,以便我看到字母中的月份,例如 01 January 或 01 Jan,而不是当前生成的 01 01。

有办法实现吗?我通过操作日期在单个图表上绘制多个数据集,以便它们出现在单个图表上,但它们不一定属于同一年。因此,我一直试图删除年份标签,但剩余的月份数字看起来不太好。

import matplotlib.dates as mdates
from datetime import date
import matplotlib.pyplot as plt

def fig_formatter(ax):
    months = mdates.MonthLocator()
    myFmt = mdates.DateFormatter('%d/%m')
    ax.xaxis.set_major_formatter(myFmt)
    plt.gcf().autofmt_xdate()
    plt.grid()
    ax.xaxis.set_minor_locator(months)
    ax.xaxis.grid(True, 'major', linewidth=1)
    ax.xaxis.grid(True, 'minor', linewidth=0.5)

x_data = [date(2017, 1, 1), date(2017, 5, 1), date(2017, 12, 1)]
y_data = [5, 30, 10]
plt.plot_date(x_data, y_data, '-o')

ax = plt.subplot(111)
fig_formatter(ax)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述