使用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轴为对应的值。
