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 之间的兼容性。
以上是如何在 Pandas Dataframe 线图的 X 轴上准确显示日期?的详细内容。更多信息请关注PHP中文网其他相关文章!