Линейный график Pandas Dataframe: точное отображение даты на оси X
Чтобы точно отображать даты на оси X линии Pandas Dataframe сюжет, важно понимать несовместимость между утилитами datetime Pandas и Matplotlib.
Модуль дат Matplotlib обрабатывает объекты datetime как числа с плавающей запятой, которые представляют время в днях, начиная с 0001-01-01 UTC, со смещением 1. Это отличается от формата, используемого Pandas, что приводит к потенциальным проблемам. .
Чтобы решить эту проблему, можно отключить возможности обработки даты и времени Pandas и вместо этого полагаться на параметры форматирования Matplotlib. Этого можно добиться, установив 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'))
Используя DayLocator и DateFormatter из модуля дат Matplotlib, вы можете настроить отображение даты без ущерба для точности.
Кроме того, вы можете инвертировать ось X и автоматически форматировать даты:
ax.invert_xaxis() plt.gca().autofmt_xdate(rotation=0, ha="center")
Этот подход обеспечивает гибкость форматирования даты, обеспечивая при этом совместимость между Pandas и Matplotlib.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3