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()