Gráficas de bala — 4:35 min

  • 4:35 min | Última modificación: Octubre 6, 2021 | YouTube

El gráfico de bala es usado para contrastar varias cantidades contra una meta. Por ejemplo, las ventas del año anterior, las ventas actuales y la meta actual. En esta lección se desarrolla una gráfica de bala usando matplotlib.

[1]:
import matplotlib.pyplot as plt

labels = list('ABCDEF')

x_previous = [110, 130, 280, 350, 275, 115]
x_current = [80, 200, 350, 420, 280, 130]
x_goal = [120, 140, 300, 380, 300, 140]
plt.figure(figsize=(7, 4))

#
# Barras de valores anteriores
#
plt.barh(
    y=labels,
    width=x_previous,
    height=0.8,
    color="lightgray",
    alpha=0.8,
)


#
# Barras para los valores actuales
#
colors_current = [
    "tab:green" if current >= goal else "tab:orange"
    for current, goal in zip(x_current, x_goal)
]

plt.barh(
    y=labels,
    width=x_current,
    height=0.4,
    color=colors_current,
    alpha=1.0,
    edgecolor=colors_current,
    linewidth=3,
)

#
# Metas
#
for i_goal, goal in enumerate(x_goal):
    plt.plot(
        [goal, goal],
        [i_goal - 0.5, i_goal + 0.5],
        c="black",
        linewidth=2,
    )

#
# Personalización
#
plt.gca().spines["left"].set_color("gray")
plt.gca().spines["bottom"].set_color("gray")
plt.gca().spines["top"].set_visible(False)
plt.gca().spines["right"].set_visible(False)

plt.show()
../../../_images/ciencia_datos_matplotlib_notebooks_1-18_bullet_plot_2_0.png