📅  最后修改于: 2023-12-03 15:04:32.116000             🧑  作者: Mango
Matplotlib
是 Python
中一个常用的绘图库,它支持各种类型的图表绘制。dates
模块是其专门用于处理日期时间数据的子模块。DateFormatter
类是 dates
模块中常用的一个类,它用于自定义日期格式化字符串。
import matplotlib.dates as mdates
date_fmt = mdates.DateFormatter('%Y-%m-%d %H:%M:%S')
上述代码定义了一个 DateFormatter
类的实例对象 date_fmt
,并定义了日期格式化字符串。这里的 %Y-%m-%d %H:%M:%S
表示日期时间格式:
%Y
:四位数的年份%m
:两位数的月份(01~12)%d
:两位数的日期(01~31)%H
:24小时制小时数(00~23)%M
:分钟数(00~59)%S
:秒数(00~59)import matplotlib.pyplot as plt
import numpy as np
import datetime
date_fmt = mdates.DateFormatter('%Y-%m-%d %H:%M:%S')
x = np.array([datetime.datetime(2021, 1, 1),
datetime.datetime(2021, 1, 2),
datetime.datetime(2021, 1, 3),
datetime.datetime(2021, 1, 4)])
y = np.array([1, 3, 2, 4])
fig, ax = plt.subplots()
ax.plot(x, y)
ax.xaxis.set_major_formatter(date_fmt)
plt.show()
上述代码定义了一个包含四个数据点的日期时间序列,然后在图表中绘制了该序列中的数据点,并使用 DateFormatter
对横坐标轴的日期格式进行了定制,结果如下所示:
DateFormatter
对象通过 set_major_formatter
方法应用于横坐标轴或纵坐标轴DateFormatter
对象的格式化字符串需要按照 datetime
模块中的格式化规则,详见官方文档DateFormatter
可以自动识别不同的日期格式,但是若要在自定义日期格式时获得更好的控制,请使用 %Y
、%m
、%d
、%H
、%M
和 %S
。