将日期转换为数字格式以进行绘图
当日期以不同格式存储时,根据日期绘制数据可能具有挑战性,例如“1991 年 1 月 2 日。”本文提供了一种将日期转换为可以轻松在 x 轴上绘制的数字格式的解决方案。
如问题中所述,使用 strftime('%Y%m%d') 转换日期仅靠这一点可能还不够。要解决此问题,请考虑使用 Python 的 datetime 模块将字符串转换为 datetime.date 的实例。
import datetime as dt
dates = ['01/02/1991','01/03/1991','01/04/1991']
x = [dt.datetime.strptime(d,'%m/%d/%Y').date() for d in dates]
将日期转换为 datetime.date 对象后,我们可以继续使用 matplotlib.pyplot 进行绘图,如提供的解决方案中所示。
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator())
plt.plot(x,y)
plt.gcf().autofmt_xdate()
通过执行这些步骤,即使日期以非数字格式存储,您也可以成功地根据日期绘制数据。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3