"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo mostrar fechas con precisión en el eje X de un gráfico de líneas de marco de datos de Pandas?

¿Cómo mostrar fechas con precisión en el eje X de un gráfico de líneas de marco de datos de Pandas?

Publicado el 2024-11-21
Navegar:547

How to Display Dates Accurately on the X-axis of a Pandas Dataframe Line Plot?

Gráfico de líneas del marco de datos de Pandas: mostrar la fecha en el eje X con precisión

Para mostrar con precisión las fechas en el eje X de una línea del marco de datos de Pandas diagrama, es importante comprender las incompatibilidades entre las utilidades de fecha y hora de Pandas y Matplotlib.

El módulo de fechas de Matplotlib maneja objetos de fecha y hora como números de coma flotante que representan el tiempo en días desde 0001-01-01 UTC, con un desplazamiento de 1. Esto difiere del formato utilizado por Pandas, lo que genera posibles problemas.

Para resolver este problema, se puede desactivar Las capacidades de manejo de fecha y hora de Pandas y, en cambio, dependen de las opciones de formato de Matplotlib. Esto se puede lograr estableciendo x_compat=True al trazar el marco de datos:

test.plot(x_compat=True)

Sin embargo, este enfoque también significa sacrificar las sofisticadas capacidades de formato de fecha de Pandas. Para superar esta limitación, considere usar el formato de Matplotlib directamente:

ax.xaxis.set_major_locator(dates.DayLocator())
ax.xaxis.set_major_formatter(dates.DateFormatter('%d\n\n%a'))

Al utilizar DayLocator y DateFormatter del módulo de fechas de Matplotlib, puede personalizar la visualización de la fecha sin comprometer la precisión.

Además, puede invertir el eje x y formatear automáticamente el fechas:

ax.invert_xaxis()
plt.gca().autofmt_xdate(rotation=0, ha="center")

Este enfoque proporciona flexibilidad en el formato de fechas al tiempo que garantiza la compatibilidad entre Pandas y Matplotlib.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3