Pandas Dataframe 线图:在 X 轴上准确显示日期
在 Pandas Dataframe 线的 x 轴上准确显示日期情节,了解 Pandas 和日期时间实用程序之间的不兼容性很重要Matplotlib.
Matplotlib 的日期模块将日期时间对象处理为浮点数,表示自 0001-01-01 UTC 以来的天数时间,偏移量为 1。这与 Pandas 使用的格式不同,导致潜在问题.
要解决这一问题,可以禁用 Pandas 的日期时间处理功能,转而依赖 Matplotlib 的格式化选项。这可以通过在绘制 Dataframe 时设置 x_compat=True 来实现:
test.plot(x_compat=True)
但是,这种方法也意味着牺牲 Pandas 复杂的日期格式化功能。要克服此限制,请考虑直接使用 Matplotlib 的格式:
ax.xaxis.set_major_locator(dates.DayLocator()) ax.xaxis.set_major_formatter(dates.DateFormatter('%d\n\n%a'))
通过使用 Matplotlib 日期模块中的 DayLocator 和 DateFormatter,您可以自定义日期显示,而不会影响准确性。
此外,您可以反转 x 轴并自动设置格式日期:
ax.invert_xaxis() plt.gca().autofmt_xdate(rotation=0, ha="center")
这种方法提供了日期格式的灵活性,同时确保 Pandas 和 Matplotlib 之间的兼容性。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3