El gráfico de torta responde una pregunta muy específica: "¿qué proporción del total representa cada parte?". Cuando tienes un presupuesto dividido en 4 categorías, una encuesta con 3 opciones de respuesta, o la distribución de mercado entre 5 empresas, la torta muestra esas proporciones de forma intuitiva. El problema es que se usa con demasiada frecuencia en situaciones donde no funciona bien.
Crear un gráfico de torta
import matplotlib.pyplot as plt
categorias = ['Alimentación', 'Transporte', 'Vivienda', 'Entretenimiento']
gastos = [450, 200, 600, 150]
plt.pie(gastos, labels=categorias)
plt.title('Distribución del gasto mensual')
plt.show()
plt.pie() recibe los valores y calcula automáticamente los ángulos proporcionales. No necesitas convertir a porcentajes — matplotlib lo hace por ti.
Mostrar porcentajes
Para que los porcentajes aparezcan dentro de cada sector:
import matplotlib.pyplot as plt
categorias = ['Alimentación', 'Transporte', 'Vivienda', 'Entretenimiento']
gastos = [450, 200, 600, 150]
plt.pie(gastos, labels=categorias, autopct='%.1f%%')
plt.title('Distribución del gasto mensual')
plt.show()
El parámetro autopct controla el formato del porcentaje:
| Formato | Resultado | Ejemplo |
|---|---|---|
'%.0f%%' | Sin decimales | 32% |
'%.1f%%' | Un decimal | 32.1% |
'%d%%' | Entero | 32% |
Cuándo funciona bien la torta
El gráfico de torta es efectivo cuando:
- Tienes 5 categorías o menos
- Las proporciones son visiblemente distintas (no 5 sectores de ~20% cada uno)
- Quieres comunicar que algo es "parte de un todo"
Un buen ejemplo: mostrar que el 60% del presupuesto se va en vivienda. El sector dominante es inmediato.
Cuándo NO usar torta
Con más de 5 o 6 categorías, la torta se vuelve ilegible. Los sectores pequeños se amontonan y es imposible comparar ángulos similares.
En esos casos, una barra horizontal es mucho más clara:
import matplotlib.pyplot as plt
categorias = ['Vivienda', 'Alimentación', 'Transporte', 'Entretenimiento',
'Salud', 'Educación', 'Ahorro', 'Otros']
gastos = [600, 450, 200, 150, 100, 80, 120, 50]
plt.barh(categorias, gastos, color='#6c5ce7')
plt.title('Gasto mensual por categoría')
plt.xlabel('Monto ($)')
plt.show()
Las barras permiten comparar valores con precisión. Los ángulos de torta no.
Personalizar colores
import matplotlib.pyplot as plt
categorias = ['Alimentación', 'Transporte', 'Vivienda', 'Entretenimiento']
gastos = [450, 200, 600, 150]
colores = ['#e17055', '#fdcb6e', '#00b894', '#74b9ff']
plt.pie(gastos, labels=categorias, autopct='%.0f%%', colors=colores)
plt.title('Distribución del gasto mensual')
plt.show()
Errores frecuentes
Usar torta con muchas categorías: si tienes 8 o más categorías, la torta no funciona. Usa barras horizontales ordenadas.
Comparar dos tortas entre sí: comparar ángulos entre dos gráficos de torta es casi imposible para el ojo humano. Si necesitas comparar la composición de dos grupos, usa barras apiladas.
Sectores que no suman 100%: si los datos no representan partes de un todo (por ejemplo, "me gusta A" y "me gusta B" donde las personas pueden elegir ambos), la torta no tiene sentido.
Aprende haciendo, no solo leyendo
Leer es el primer paso. El verdadero aprendizaje ocurre cuando practicas con ejercicios reales de Visualización de Datos y recibes corrección inmediata de IA.
Comenzar gratis →