如何格式化日期图的x轴,以便月份以字母

时间:2017-12-19 17:39:40

标签: python matplotlib

我一直在尝试更改X轴标签,以便我看到字母中的月份,例如1月1日或1月1日,而不是目前生产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()

enter image description here

0 个答案:

没有答案