La pregunta más común al empezar a visualizar datos es "¿qué tipo de gráfico uso?". No existe un gráfico que funcione para todo. Cada tipo está diseñado para responder un tipo específico de pregunta, y elegir mal puede ocultar el patrón que intentas mostrar.
La guía rápida
| Pregunta | Tipo de gráfico | Función en matplotlib |
|---|---|---|
| ¿Cómo se comparan las categorías? | Barras | plt.bar() / plt.barh() |
| ¿Cómo evolucionó algo en el tiempo? | Línea | plt.plot() |
| ¿Qué proporción del total es cada parte? | Torta | plt.pie() |
| ¿Cómo se distribuyen los valores? | Histograma | plt.hist() |
| ¿Hay relación entre dos variables? | Scatter plot | plt.scatter() |
Comparar: gráfico de barras
Usa barras cuando tus datos tienen categorías sin un orden natural y quieres comparar sus valores.
import matplotlib.pyplot as plt
lenguajes = ['Python', 'JavaScript', 'SQL', 'Java', 'TypeScript']
demanda = [85, 78, 72, 65, 60]
plt.barh(lenguajes, demanda, color='#0984e3')
plt.title('Demanda de lenguajes de programación')
plt.xlabel('Índice de demanda')
plt.show()
Las barras permiten comparar longitudes, que es algo que el cerebro hace naturalmente.
Tendencia: gráfico de línea
Usa línea cuando los datos tienen un orden secuencial (generalmente tiempo) y quieres ver la evolución.
import matplotlib.pyplot as plt
meses = ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun']
usuarios = [1200, 1350, 1500, 1800, 2100, 2400]
plt.plot(meses, usuarios, marker='o', color='#00b894')
plt.title('Crecimiento de usuarios')
plt.ylabel('Usuarios activos')
plt.show()
La línea implica continuidad: entre febrero y marzo los usuarios siguieron creciendo, no pasaron de un estado a otro bruscamente.
Proporción: gráfico de torta
Usa torta solo cuando quieres mostrar partes de un todo y tienes 5 categorías o menos.
import matplotlib.pyplot as plt
fuentes = ['Orgánico', 'Redes sociales', 'Email', 'Directo']
visitas = [45, 25, 18, 12]
plt.pie(visitas, labels=fuentes, autopct='%.0f%%')
plt.title('Fuentes de tráfico')
plt.show()
Si tienes más de 5 categorías o los porcentajes son muy similares, las barras son mejor opción.
Distribución: histograma
Usa histograma cuando quieres ver cómo se reparten los valores de una variable numérica continua.
import matplotlib.pyplot as plt
salarios = [350, 400, 420, 450, 480, 500, 520, 550, 600,
650, 800, 850, 1200, 1500, 2000]
plt.hist(salarios, bins=8, edgecolor='black', color='#6c5ce7')
plt.title('Distribución de salarios')
plt.xlabel('Salario (miles $)')
plt.ylabel('Frecuencia')
plt.show()
El histograma muestra dónde se concentran los datos y si hay valores extremos, algo que el promedio no revela.
Relación: scatter plot
Usa scatter cuando quieres explorar si dos variables numéricas están relacionadas.
import matplotlib.pyplot as plt
superficie = [40, 55, 60, 75, 80, 95, 110, 130]
precio = [45, 60, 58, 80, 85, 100, 115, 140]
plt.scatter(superficie, precio, color='#e17055')
plt.title('Superficie vs Precio de departamentos')
plt.xlabel('Superficie (m²)')
plt.ylabel('Precio (millones $)')
plt.show()
Si los puntos forman una tendencia clara (hacia arriba o abajo), las variables están correlacionadas.
Errores frecuentes
Usar torta para comparar: si la pregunta es "¿cuál es mayor?", las barras son más precisas que los ángulos de una torta.
Usar línea sin orden temporal: conectar categorías sin orden con una línea implica una transición que no existe. "Manzanas-Plátanos-Naranjas" no es una secuencia.
Usar barras para distribución: si quieres ver cómo se reparten los salarios, no crees categorías manuales ("bajo", "medio", "alto"). Usa un histograma que define los rangos automáticamente.
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 →