Detecta la frecuencia al instante con una linea de tiempo tipo codigo de barras

Visualize

Detecta la frecuencia al instante con una linea de tiempo tipo codigo de barras

Creado: Última actualización: Tiempo de lectura: 1 min

Cuando solo importan las fechas en que ocurren eventos, una linea de tiempo tipo codigo de barras muestra la densidad con lineas verticales. Permite ver sesgos y concentraciones de periodos de un vistazo.

import pandas as pd
import matplotlib.pyplot as plt

dates = pd.to_datetime(
    [
        "2024-01-05",
        "2024-01-08",
        "2024-01-12",
        "2024-01-20",
        "2024-02-02",
        "2024-02-07",
        "2024-02-08",
        "2024-02-17",
        "2024-03-01",
        "2024-03-09",
        "2024-03-10",
        "2024-03-24",
        "2024-04-02",
        "2024-04-18",
        "2024-05-01",
    ]
)

fig, ax = plt.subplots(figsize=(6.4, 1.8))
ax.vlines(dates, ymin=0, ymax=1, color="#0f172a", linewidth=2)
ax.set_ylim(0, 1)
ax.set_yticks([])
ax.set_title("Linea de tiempo de alertas criticas")
ax.set_xlabel("Fecha")
ax.set_xlim(dates.min() - pd.Timedelta(days=3), dates.max() + pd.Timedelta(days=3))

ax.tick_params(axis="x", rotation=45)
ax.spines[["left", "top", "right"]].set_visible(False)

fig.tight_layout()

plt.show()

Es facil detectar sesgos y picos en los periodos.

Consejos de lectura #

  • Cuantas mas lineas haya, mas concentrados estan los eventos. Ayuda a comunicar picos o congestion reciente.
  • Cambiar la altura o el color de las lineas permite codificar tipos o pesos de eventos.
  • Si la serie temporal es larga, divide por mes o usa desplazamiento para mejorar la legibilidad.