欢迎访问宙启技术站
智能推送

使用matplotlib.dates绘制WE的时间序列图

发布时间:2023-12-23 09:16:34

matplotlib.dates是一个用于绘制日期和时间的模块,可以方便地创建日期和时间的图表。在下面的例子中,我们将使用matplotlib.dates模块来绘制一个WE的时间序列图。

首先,我们需要导入必要的库:

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

然后,我们创建一些示例数据。假设我们有一些WE的时间序列数据:

dates = [
    datetime.datetime(2021, 1, 1),
    datetime.datetime(2021, 1, 2),
    datetime.datetime(2021, 1, 3),
    datetime.datetime(2021, 1, 4),
    datetime.datetime(2021, 1, 5)
]

values = [10, 7, 15, 5, 8]

接下来,我们创建一个Figure和一个Axes对象,并使用plt.subplots()方法设置图形的大小和布局:

fig, ax = plt.subplots(figsize=(10, 5))

然后,我们将日期对象转换为matplotlib使用的序列化日期对象。使用mdates.date2num()方法将日期转换为序列化日期对象,并将其传递给X轴:

serial_dates = mdates.date2num(dates)
ax.plot(serial_dates, values)

接下来,我们可以设置X轴的标签为日期格式,并设置日期的显示方式。我们可以使用mdates.DateFormatter()ax.xaxis.set_major_formatter()方法来显示日期的格式:

date_format = mdates.DateFormatter('%b-%d-%Y')
ax.xaxis.set_major_formatter(date_format)

最后,我们可以调整X轴的标签以避免重叠。我们可以使用plt.xticks(rotation=45)将X轴标签旋转45度:

plt.xticks(rotation=45)

最后,我们可以使用plt.show()方法显示图形:

plt.show()

完整的代码如下:

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

dates = [
    datetime.datetime(2021, 1, 1),
    datetime.datetime(2021, 1, 2),
    datetime.datetime(2021, 1, 3),
    datetime.datetime(2021, 1, 4),
    datetime.datetime(2021, 1, 5)
]

values = [10, 7, 15, 5, 8]

fig, ax = plt.subplots(figsize=(10, 5))

serial_dates = mdates.date2num(dates)
ax.plot(serial_dates, values)

date_format = mdates.DateFormatter('%b-%d-%Y')
ax.xaxis.set_major_formatter(date_format)

plt.xticks(rotation=45)

plt.show()

运行这段代码,将会生成一个包含WE的时间序列图,其中X轴为日期,Y轴为对应的值。