Visualiza cambios de ranking con un grafico bump

Visualize

Visualiza cambios de ranking con un grafico bump

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

Este grafico bump conecta las posiciones de ventas por trimestre. El truco es invertir el eje para que los rangos altos queden arriba.

import numpy as np
import matplotlib.pyplot as plt

quarters = ["Q1", "Q2", "Q3", "Q4"]
brands = ["Alpha", "Bravo", "Charlie", "Delta", "Echo"]
ranks = np.array(
    [
        [1, 2, 3, 3],
        [3, 1, 1, 2],
        [2, 3, 2, 1],
        [4, 4, 5, 4],
        [5, 5, 4, 5],
    ]
)

fig, ax = plt.subplots(figsize=(7, 4))

for brand, rank in zip(brands, ranks):
    ax.plot(quarters, rank, marker="o", linewidth=2, label=brand)

ax.set_ylim(5.5, 0.5)
ax.set_ylabel("Ranking")
ax.set_title("Ranking de ventas por marca")
ax.grid(axis="y", alpha=0.2)
ax.legend(loc="upper right", bbox_to_anchor=(1.15, 1))

fig.tight_layout()

plt.show()

Invertir el eje facilita leer los cambios de ranking.

Consejos de lectura #

  • Como un numero menor indica mejor posicion, invertir el eje hace la lectura mas intuitiva.
  • Usa colores y marcadores para distinguir marcas, y coloca la leyenda a la derecha para evitar solapamientos.
  • Si necesitas destacar una marca, aumenta el grosor o ajusta el color.